0

我在 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。

4

2 回答 2

4

我在 NSlog 上获得了 Sigabrt

您的 NSLog 语句试图打印一个整数,就好像它是一个对象一样:

NSLog(@"%@%@",contentList,[contentArray count]);
           ^
         Here!

替换%@%d

您可以在字符串编程指南中阅读有关格式说明符的更多信息。

于 2011-10-07T20:19:31.080 回答
1

您没有检查以确保数组中至少有 1 个元素。如果为空,访问[contentArray objectAtIndex:0]将是一个问题。contentArray

于 2011-10-07T19:52:45.307 回答