У меня есть UITextField, который позволяет пользователю вводить собственное имя альбома для фотографий Facebook. Как только textFieldShouldReturn, я беру textField.text и отправляю его в Facebook. После вызова обработчика завершения я хотел бы обновить свою модель и перезагрузить данные в моем tableView.
Моя проблема в том, что некоторые строки моего завершенияHandler никогда не вызываются. Я пометил все строки с помощью отладчика, и как только я выполняю код построчно, некоторые из этих строк никогда не вызываются, особенно метод перезагрузки tableView.
Я делаю что-то неправильное? Почему мой completeHandler частично отменен и никогда не вызывается?
Вот мой код:
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
NSString *newAlbumName;
newAlbumName = textField.text;
NSMutableDictionary* parameters = [NSMutableDictionary dictionary];
[parameters setObject:newAlbumName forKey:@"name"];
[parameters setObject:newAlbumName forKey:@"message"];
FBRequest* request = [FBRequest requestWithGraphPath:@"me/albums" parameters:parameters HTTPMethod:@"POST"];
FBRequestConnection *connection = [[FBRequestConnection alloc] init];
[connection addRequest:request
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSDictionary *newAlbum;
[newAlbum setValue:newAlbumName forKey:@"name"];
[self.albums addObject:newAlbum];
NSLog(@"created: %@", [newAlbum objectForKey:@"name"]);
[self.tableView reloadData];
}
else {
NSLog(@"Error: %@", error.userInfo);
}
}];
[connection start];
[textField resignFirstResponder];
[textField removeFromSuperview];
return YES;
}
if
не будут выполнены, если условие не будет выполнено. - person jlehr   schedule 28.11.2013