作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将此代码与 ARC 一起使用:
NSMutableDictionary *datesDict = [[NSMutableDictionary alloc]init];
NSMutableArray *datesArray = [[NSMutableArray alloc]init];
for (NSString *key in programsArray) {
datesArray = [_onDemandDictionary objectForKey:key];
NSMutableArray *newDates = [[NSMutableArray alloc]init];
int count;
for (count = 0; count <datesArray.count; count++) {
NSMutableDictionary *programsDict = [[NSMutableDictionary alloc]init];
programsDict = [datesArray objectAtIndex:count];
[newDates addObject:[programsDict objectForKey:@"date"]];
}
[datesDict setObject:newDates forKey:key];
}
但是当我运行分析器工具时,我得到 在其初始化期间存储到 (datesArray 和 programsDict) 的值永远不会被读取 行:
NSMutableArray *datesArray = [[NSMutableArray alloc]init];
programsDict = [datesArray objectAtIndex:count];
为什么会发生这种情况,如何隐藏警告?
谢谢!
最佳答案
问题是您创建了一个新的 NSMutableArray
并在开头将其分配给 datesArray
NSMutableArray *datesArray = [[NSMutableArray alloc]init];
然后几乎是在您使用
为datesArray
分配一个完全不同的值之后
datesArray = [_onDemandDictionary objectForKey:key];
我会从
开始NSMutableArray *datesArray = nil;
这与 programsDict
的概念相同。
关于iphone - Objective-C 和 ARC : Why value stored to during its initialization is never read?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382078/
我是一名优秀的程序员,十分优秀!