私のアプリはXML形式のウェブページからデータを取得する必要があります。しかし、特定の行インターネットに接続していないとXMLReaderがクラッシュする
NSArray *arr = [XMLReader objectsForXMLData:receivedData error:parseError];
クラッシュを何もインターネットが存在しない、私はこれを行うにするXMLReaderを使用していますし、インターネットアクセスがある場合に機能が素晴らしい作品。私は、インターネットが存在しないときに、アプリケーションにエラーメッセージを表示させたい。したがって、私は指標として** parseErrorを使用しています。しかし、私はこの行を実行すると、アプリケーションがクラッシュする理由は不明です。私は以下の機能を掲載しました。ご協力いただきありがとうございます。
NSDateFormatter *dateFmt = [[NSDateFormatter alloc] init];
dateFmt.timeStyle = NSDateFormatterNoStyle;
dateFmt.dateFormat = DATADATEFRMT; // @"yyyy-MM-dd";
NSMutableString *urlStr = [NSMutableString stringWithString:[DATASRCWCAT stringByAppendingString:cat]];
category = cat;
NSLog(@"cate = %@",cat);
[urlStr appendFormat:@"%@%@%@%@", DATAPRD, dataPeriod, DATASTDATE, [dateFmt stringFromDate:currDate]];
NSLog(@"dataPeriod = %@", [dateFmt stringFromDate:currDate]);
NSString *urlString = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//NSLog(@"URL to obtain data: %@", urlString);
self.crimeid = cat;
// Get the data in xml format and parse
NSData *receivedData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
NSError **parseError = nil;
NSArray *arr = [XMLReader objectsForXMLData:receivedData error:parseError]; // <---- crashes here with no internet access.
//NSLog(@"array = %@", [arr objectAtIndex:1]);
self.crimeDataArray = arr;
ありがとう、それはそれを解決しました。 – John