【发布时间】:2013-04-10 18:28:53
【问题描述】:
我将类别 ID 传递给下一个视图控制器。
NSNumber *childCategoryId = [[NSNumber alloc] initWithInt:category.id];
if ([destination respondsToSelector:@selector(setCategoryId:)]) {
[destination setValue:childCategoryId forKey:@"categoryId"];
}
在下一个视图控制器中,接受数据的属性被声明为weak
@property (weak, nonatomic) NSNumber *categoryId;
在 viewDidLoad 下,我使用 id 从互联网获取数据。 当 NSNumber 不太大(id >=15
可以通过将弱引用更改为强引用来解决该问题,因此只要下一个控制器需要,就会保留 categoryId。我相信这个问题是由于弱属性的损失引起的,但我不明白它的原因。
【问题讨论】:
标签: ios memory-management automatic-ref-counting