对于类属性使用int是否存在问题?

时间:2009-05-18 15:42:40

标签: objective-c class

当我开始使用Cocoa时,我记得我在某处读过int / float和类似不应该用于类属性并使用NS *等价物(如NSInteger)。

这里有一个真正隐藏的问题为什么会更好或者只是一个人在我阅读的时候自愿编码规则(我不能为我的生活找到那个地方)?

那么,更好的是:

@interface xx... 
    int myProp;
@end

@interface xx... 
    NSInteger *myProp;
@end

2 个答案:

答案 0 :(得分:2)

int版本没问题,但首选NSInteger。 NSInteger不是一个对象,不必用指针引用 - 它只是一个typedef,它允许变量成为32位和64位计算机上的本机字大小。所以最好的选择是:

@interface SomeClass : NSObject {
    NSInteger aNumber;
@end

@implementation SomeClass
- (id)init {
    [super init];
    number = 42;
}
@end

答案 1 :(得分:0)

question。 NSInteger是架构安全的,建议从10.5开始。