我很确定这与componentsJoinedByString gives me EXC_BAD_ACCESS
中的问题完全相同基本上,使用此代码填充数组,并打开ARC:
-(NSMutableArray *)getArrayOfCommaSeparatedSelectorStrings{
NSMutableArray *Array = [[NSMutableArray alloc] init];
for(NSMutableArray *e in [self getArrayOfSelectorArrays]) {
[Array addObject:[displayCSSInformation returnArrayAsCommaList:e]];
}
return Array;
}
然后displayCSSInformation尝试使用此方法返回逗号分隔列表:
+(NSString *)returnArrayAsCommaList:(NSMutableArray *)ToBeConverted{
NSString *test = [ToBeConverted componentsJoinedByString:@", "];
return test;
}
感谢您的帮助。
答案 0 :(得分:0)
如果所有方法都调用另一种方法,通常不需要使用单独的方法。移除+returnArrayAsCommaList:
方法,直接在阵列上使用componentsJoinedByString:
。
- (NSMutableArray *) getArrayOfCommaSeparatedSelectorStrings
{
NSMutableArray *array = [[NSMutableArray alloc] init];
for (NSMutableArray *e in [self getArrayOfSelectorArrays])
[array addObject:[e componentsJoinedByString:@", "]];
return array;
}
如果您仍然遇到错误,上面应该可以工作(它适用于我的小测试示例):
确保getArrayOfSelectorArrays
实际上返回一个字符串数组数组。将输出记录到控制台或使用调试器单步执行。
使用“Build& amp;分析“让静态分析仪检查任何问题的选项。这不是ARC的一个问题,但它仍会采用诸如使用未初始化值之类的东西。
确保您已从任何Core Foundation对象中正确桥接所有权。