您现在的位置是:首页 >综合 > 2024-04-21 03:02:32 来源:

Synthesizer V Studio(synthesize)

导读 大家好,我是小夏,我来为大家解答以上问题。Synthesizer V Studio,synthesize很多人还不知道,现在让我们一起来看看吧!1、一、SDK中描...

大家好,我是小夏,我来为大家解答以上问题。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;

本文到此讲解完毕了,希望对大家有帮助。