【发布时间】:2012-09-14 15:30:52
【问题描述】:
我有一个 NSDictionary,通过解析存储值。我在-viewDidLoad 中分配和存储价值。并访问-viewWillAppear 中的值。它工作得很好。
然后,我有UIPageControl 和UIScrollView。在滚动UIScrollView 时,我再次访问同一个字典,它崩溃说
[CFString respondToSelector:]: send to deallocated....
- (void) viewDidLoad {
[super viewDidLoad];
scoresDict = [[NSDictionary alloc] initWithDictionary:[scoreObj scores]];
}
- (void)loadScrollViewWithPage:(int)page {
if (page < 0)
return;
if (page >= kNumberOfPages)
return;
NSLog(@“scoresDict %@”,scoresDict);
}
我尝试在同一个函数中使用retain,但没有成功。而copy,它也不起作用。任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
谁在保留 scoreObj,你在哪里发布它?
-
scoreObj 是完成解析的类的子对象。在
-viewDidLoad初始化,在-dealloc发布
标签: iphone memory-management nsdictionary