我在NSlog上得到一个Sigabrt,我不明白为什么 - 有什么建议吗?
NSString* contentList = [NSString stringWithContentsOfFile:currentFilePath encoding:NSUTF8StringEncoding error:nil];
NSArray* contentArray = [contentList componentsSeparatedByString:@"$$"];
NSLog(@"%@%@",contentList,[contentArray count]);
kunden = [contentArray objectAtIndex:0];
kundenView.text = kunden;
按照乔斯的建议,我现在得到了:
NSString* contentList = [NSString stringWithContentsOfFile:currentFilePath encoding:NSUTF8StringEncoding error:nil];
NSArray* contentArray = [[contentList componentsSeparatedByString:@"$$"] retain];
if ([contentArray count] > 0) {
NSLog(@"%@%@",contentList,[contentArray count]);
kunden = [contentArray objectAtIndex:0];
kundenView.text = kunden;
}
这给了我一个在NSLog上的EXC_BAD_ACCESS。
答案 0 :(得分:4)
我在NSlog上获得了Sigabrt
你的NSLog语句试图打印一个整数,好像它是一个对象:
NSLog(@"%@%@",contentList,[contentArray count]);
^
Here!
将%@
替换为%d
。
答案 1 :(得分:1)
您没有检查以确保阵列中至少有1个元素。如果[contentArray objectAtIndex:0]
为空,则访问contentArray
将是一个问题。