使用/不使用变量声明写入之间有什么区别

时间:2012-04-29 11:49:55

标签: iphone properties instance-variables

  

可能重复:
  Properties and Instance Variables in Objective-C 2.0

我编写了下面的代码,这些代码都适用于xcode 3 / ios4和xcode 4 / ios5

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {

NSString *s;

}
@property (retain ,nonatomic) NSString *s;
@end

没有变量声明的那个

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {



}
@property (retain ,nonatomic) NSString *s;
@end

#import <UIKit/UIKit.h>

@interface testViewController : UIViewController {

NSString *s;

}

使用/不使用变量声明

之间的区别是什么

我知道@property意味着替换/ simplfying属性的方法setter / getter。 {}中的变量声明是否意味着无法在testViewController外部访问的私有属性?

1 个答案:

答案 0 :(得分:0)

当您声明没有相关ivar的属性时,编译器会默认注入它。一个区别是隐式ivar在派生类和类外是不可见的。