都说 @synthesize 生成get set方法,但是我不用这个,只是@Property(retain nonatomic)  NSString* Kk,为什么也生成了get set方法?那@synthesize 还有何用呢?

解决方案 »

  1.   

    @synthesize是编译器指令,目的是生成setter/getter方法。但是在Xcode4.5及以后的版本中,编译器会自动生成相应的实例变量,实例变量的名字是属性名称前加下划线,同时生成编译器指令@synthesize,所以就不用手动写@synthesize了
      

  2.   

    @synthesize 为编译器指令,它的作用是在编译时自动生成访问属性的getter,setter方法。在ios 5.0之前,所有声明的属性都需要使用@synthesize来告知编译器生成相应的getter,setter方法。以后的ios SDK,则可以省去这个步骤,直接声明属性就可以了,不需要再在实现文件中使用@synthesize了。这个问题主要是看你使用的是哪个ios SDK了。