Я пытаюсь написать немного кода, который проверяет URL-адрес источника данных, а затем заполняет массив объектами из этого URL-адреса. Он действительно работает хорошо, но если есть проблема с веб-соединением или адресом, я хочу заполнить массив данными из связанного файла. Проблема, с которой я сталкиваюсь, заключается в том, что метод connection didFailWithError
никогда не вызывается. Я пробовал простую строку, но она не звонит. Я хочу, чтобы приложение по-прежнему функционировало для людей, которые используют iPod touch или находятся в режиме полета.NSURLConnection не звонит сделалFailWithError.
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]); }
- (Недействительными) соединение: (NSURLConnection *) подключение didFailWithError: (NSError *) Ошибка {
listConnectFail = YES;
NSLog(@"Connection Failed, pulling from file"); }
- (Недействительными) соединение: (NSURLConnection *) подключение didReceiveResponse: (NSURLResponse *) response { listConnectFail = NO; NSLog (соединение «Успешно завершено, заполняется из API»); }
Я знаю, что это, вероятно, что-то глупо, что я не вижу, но я мог бы использовать помощь, чтобы понять, что я не
Спасибо заранее!
Журнал не дает мне много информации. Если я дам ему неправильный URL, он сидит в ожидании без сообщений в течение нескольких секунд, пока, наконец, не сломается и не отбросит «SIGABRT» – Tenthrow