实例变量语法问题

Pre*_*ton 2 iphone objective-c

在声明一个实例变量时,如果我在@interface和@property下声明它,它会有所不同吗?例:

   @interface MyViewController : UIViewController {
        NSString *myString;
   }
   @property (nonatomic, retain) NSString *myString;
Run Code Online (Sandbox Code Playgroud)

如果我拿出@interface下的那个会不会有意义?我一直这样做,想知道它是否做了什么.

bbu*_*bum 7

使用现代编译器(LLVM的最新版本),不需要将实例变量与@property一起声明(如tc所示;实际上是@synthesize指示编译器保留一个插槽,否则,你是在你自己的存储)这样做不会改变任何东西.

一个建议; 当你@synthesize时,做一些类似的事情@synthesize myString = myString_;会让iVar有一个不同的名字,因此,当你打算穿过房产时,不可能不小心直接访问.