0

我像这样创建一个 NSNumber 属性,

@property (nonatomic, retain) NSNumber *repeat;

并从同一类中将其设置为包含在数组中的 NSNumber

self.repeat = [dataArray objectAtIndex:3];

这不会在编译或运行时引发任何错误。尽管它仍然在调试区域中显示为 nil。我知道 NSNumber 是不可变的,但这不应该仍然有效吗?

编辑:如果我将 self.repeat 设置为一个新的 NSNumber 对象,它仍然显示为 nil。

self.repeat = [NSNumber numberWithInt:1];
4

2 回答 2

0

这实际上是一个 Xcode 错误。我清除了派生数据,重新启动了我的 Mac,然后再次尝试成功。

于 2013-07-26T14:13:06.597 回答
0

从您的一个屏幕截图中可以看出,索引 3 处的对象似乎是一个 BOOL。只需这样做:

self.repeat = [NSNumber numberWithBool:[dataArray objectAtIndex:3]];

不过,这总是会返回 0 或 1,所以随心所欲。

于 2013-07-24T14:52:22.483 回答