Iphone 什么';动态和合成的区别是什么?
从我读到的文档中,@dynamic在运行时创建访问器方法,而@synthesis将在构建时创建访问器 让我猜猜:@dynamic节省了一些内存,而代码在内存页中保持较小?还是怎样它们之间还有什么区别 可以说:“使用@dynamic而不是@synthesis总是一个好主意吗?”?我是说。。。如果这真的节省了内存,为什么不呢Iphone 什么';动态和合成的区别是什么?,iphone,objective-c,cocoa,cocoa-touch,Iphone,Objective C,Cocoa,Cocoa Touch,从我读到的文档中,@dynamic在运行时创建访问器方法,而@synthesis将在构建时创建访问器 让我猜猜:@dynamic节省了一些内存,而代码在内存页中保持较小?还是怎样它们之间还有什么区别 可以说:“使用@dynamic而不是@synthesis总是一个好主意吗?”?我是说。。。如果这真的节省了内存,为什么不呢 但是我想@dynamic比@synthesis有一些缺点,否则每个人都会使用@dynamic。那么缺点是什么呢?否。动态属性不会自动生成@dynamic属性标记向编译器指示您将
但是我想@dynamic比@synthesis有一些缺点,否则每个人都会使用@dynamic。那么缺点是什么呢?否。动态属性不会自动生成
@dynamic
属性标记向编译器指示您将以某种方式提供访问器和设置器:
发件人:
@dynamic
您可以使用@dynamic
关键字告诉编译器,您将通过直接提供方法实现或在运行时使用其他机制(如代码的动态加载或动态方法解析)来履行属性隐含的API契约
否,
@dynamic
表示将在运行时提供实现@synthesis
告诉编译器为您创建实现。您可以将@dynamic
与核心数据一起使用,核心数据在运行时生成属性实现。如果您不使用这两种方法,编译器将假定您将提供实现。否,@dynamic不会为您带来任何内存/代码大小优势