您现在的位置是:首页 >综合 > 2024-04-21 03:02:32 来源:
Synthesizer V Studio(synthesize)
大家好,我是小夏,我来为大家解答以上问题。Synthesizer V Studio,synthesize很多人还不知道,现在让我们一起来看看吧!
1、一、SDK中描述是在声明property的时候,有2个选择
2、1:通过@synthesize 指令告诉编译器在编译期间产生getter/setter方法。
3、2:通过@dynamic指令,自己实现方法。
4、有些存取是在运行时动态创建的,如在CoreData的NSManagedObject类使用的某些。如果你想这些情况下,声明和使用属性,但要避免缺少方法在编译时的警告,你可以使用@dynamic动态指令,而不是@synthesize合成指令。例如
5、@interface Demo : NSManagedObject {
6、}
7、@property (retain) NSString* test;
8、@end
9、]
10、@implementation Demo
11、@dynamic test;
12、@end
13、二、
14、@synthesize will generate getter and setter methods for your property. @dynamic just tells the compiler that the getter and setter methods are implemented not by the class itself but somewhere else (like the superclass)
15、Uses for @dynamic are e.g. with subclasses of NSManagedObject (CoreData) or when you want to create an outlet for a property defined by a superclass that was not defined as an outlet:
16、Super class:
17、@property(nonatomic, retain)NSButton*someButton;
18、...
19、@synthesize someButton;
20、Subclass:
21、@property(nonatomic, retain)IBOutletNSButton*someButton;
22、...
23、@dynamic someButton;
本文到此讲解完毕了,希望对大家有帮助。