【问题标题】:NSArray componentsSeperatedByString SigabrtNSArray componentsSeparatedByString Sigabrt
【发布时间】:2011-10-07 19:38:52
【问题描述】:

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

【问题讨论】:

    标签: iphone ios nsstring nsarray sigabrt


    【解决方案1】:

    我在 NSlog 上获得了 Sigabrt

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

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

    %@ 替换为%d

    您可以在String Programming Guide 中阅读有关格式说明符的更多信息。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 更新了我的问题,现在访问不正确。
      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 2013-05-04
      相关资源
      最近更新 更多