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

String Programming Guideでフォーマット指定子の詳細を読むことができます。

于 2011-10-07T20:19:31.080 に答える
1

配列に少なくとも 1 つの要素があることを確認していません。が空[contentArray objectAtIndex:0]の場合、アクセスが問題になります。contentArray

于 2011-10-07T19:52:45.307 に答える