iPhone中的头文件声明

iPhone中的头文件声明,iphone,Iphone,它们之间的区别是什么:- 方法1:- @interface EffortView : UIView { } @property (nonatomic, retain) UIView *homeView; @end 方法2:- @interface EffortView : UIView { UIView *homeView; } @property (nonatomic, retain) UIView *homeView; @end 我已经综合了这两


它们之间的区别是什么:-

方法1:-

@interface EffortView : UIView {

}    
@property (nonatomic, retain) UIView *homeView;    
@end
方法2:-

@interface EffortView : UIView {
    UIView *homeView;
}    
@property (nonatomic, retain) UIView *homeView;    
@end
我已经综合了这两种情况下的属性。这两种方法都有效。我在Mac10.6.6上使用Xcode 4.0

请开导我


谢谢大家。

第一种方法在32位Mac OS X运行时上不起作用,因为每个属性都必须有相应的实例变量。64位和iOS运行时会自动为您创建实例变量,因此在这种情况下,使用第二种方法就足够了


底线是:如果你100%确定你永远不会瞄准32位Mac OS X系统,并且你的软件的任何组件都不会在该平台上使用,那么你可以安全地省略实例变量。

nice one@socialCircus..你是说Mac 10.6.6上的Xcode 4.0使用64位运行时?哪个版本的Xcode和Mac有32位运行时?没有;它使用32位、64位或iOS运行时,具体取决于编译项目的目的。因为您是为iPhone编译项目,所以您使用的是iOS运行时,因此上面的代码可以工作。如果您是为64位Intel处理器编译项目,那么您使用的是64位Mac OS X运行时,因此上述代码也可以使用。但是,如果您是为32位Intel处理器和/或针对Mac OS X 10.4及更早版本的系统进行编译,那么您将使用32位Mac OS X运行时,上述代码将无法工作。