0

データソースのURLをチェックし、そのURLのオブジェクトを配列に入力するコードを作成しようとしています。実際にはうまく機能しますが、Web接続またはアドレスに問題がある場合は、バンドルされたファイルのデータを配列に入力します。私が抱えている問題は、connection didFailWithErrorメソッドが呼び出されないことです。単純な文字列を渡してみましたが、呼び出されません。iPod touchを使用している人や機内モードの人でも、このアプリを引き続き機能させたいです。

connection didReceiveResponse問題なく動作しています。

これは私が取り組んでいるものです。

- (void)loadListData{
NSLog(@"Loading data from sources");

NSURLRequest *listURLRequest = [NSURLRequest requestWithURL:integerPhoneListURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:1.0];
[[NSURLConnection alloc] initWithRequest:listURLRequest delegate:self];

  if (!listConnectFail){
        phoneListJSON =[NSData dataWithContentsOfURL:integerPhoneListURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:phoneListJSON waitUntilDone:YES];


    } else {
        //This will tell us if there is an error loading the file
        NSLog(@"File not found on web init from file");
        phoneListJSON =[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"contactlist" ofType:@"json"]];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:phoneListJSON waitUntilDone:YES];
    }



//Initialize the filtered list with array of customer objects. Based on original data
filteredList = [[NSMutableArray alloc] init];

for (NSDictionary *dict in phoneListOriginal) {
    contact *single = [[contact alloc] init];
    single.fName = [dict objectForKey:@"fName"];
    single.lName = [dict objectForKey:@"lName"];
    single.extension = [dict objectForKey:@"extension"];
    single.title = [dict objectForKey:@"title"];
    single.department = [dict objectForKey:@"department"];
    single.cellNumber = [dict objectForKey:@"cellNumber"];
    //NSLog(@"%@", single.lName);
    [filteredList addObject:single];
}


NSLog(@"Array filteredLIst contains %d records",[filteredList count]); }

-(void)接続:(NSURLConnection *)接続didFailWithError:(NSError *)エラー{

listConnectFail = YES; 
NSLog(@"Connection Failed, pulling from file"); }

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {listConnectFail = NO; NSLog(@ "接続が成功し、APIから入力しています"); }

私が見ていないのはおそらく愚かなことだと思いますが、助けを借りて自分が見ていないものを見ることができます

前もって感謝します!

4

1 に答える 1