-1

可能重复:
@synthesize 与 @dynamic,有什么区别?

当我们编写任何对象时,就像@dynamic obj; 我们告诉编译器我们将为它实现访问器方法一样,那么我们需要在哪里实现这些方法呢?

如果我们在声明 @property 的同一个类中实现访问器方法,那么我们甚至不需要使用 of @dynamic,就像在头文件中一样:

@proprty (attribue) NSString *objStr;

并以 .m 为单位:

- (NSString *)objStr { 
}

- (void)setObjStr:(NSString *)somestring {
}
4

1 回答 1

9

@dynamic关键字告诉编译器您将在运行时动态提供访问器方法。这可以使用 Objective-C 运行时函数来完成。

通常,您会使用@dynamicCore Data 之类的东西,其中 Core Data 将提供基于 Core Data 模型的访问器。

你是对的,在大多数正常情况下你不会使用@dynamic. 通常,您只需使用@propertyor@property@synthesize

于 2012-09-16T08:31:40.610 回答