#mysql #ios #uialertview #nserror
#mysql #iOS #uialertview uialertview #ошибка
Вопрос:
Здравствуйте, я пытаюсь создать оповещение, если я не могу подключиться к веб-службе. По сути, если я вижу «параметр данных равен нулю», тогда я хотел бы, чтобы в предупреждении говорилось «не удалось подключиться и вернуться.
Это код, который я использую для этого.
- (IBAction)search:(id)sender
{
if ([hostTextField.text isEqualToString:@""] || [passwordTextField.text isEqualToString:@""]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Camaleon Alert" message:@"All fields must be filled in" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}else{
NSString *requestStr = @"http://";
requestStr = [requestStr stringByAppendingString:hostTextField.text];
requestStr = [requestStr stringByAppendingString:@":8080/dblist.php?password="];
requestStr = [requestStr stringByAppendingString:passwordTextField.text];
NSURL * url = [NSURL URLWithString:requestStr];
NSData * data = [NSData dataWithContentsOfURL:url];
json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
DBList = [[NSMutableArray alloc]init];
for (int i = 0; i < json.count; i )
{
//Create the objects
NSString * dbName = [[json objectAtIndex:i] objectForKey:@"Database"];
//------------------------------------------
Database * myDatabases = [[Database alloc]initWithDatabaseName: (NSString *) dbName];
//Add the object to the array
[DBList addObject:myDatabases];
}
[self.DBTable reloadData];
Спасибо за любые предложения.
Ответ №1:
Итак, принимая это слово за слово:
«По сути, если я вижу «параметр данных равен нулю», то я хотел бы, чтобы в предупреждении говорилось: «Не удалось подключиться и вернуться».
if(data == nil)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Connection Problem" message:@"not able to connect" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
return;
}
else
{
//The rest of your code
}
Комментарии:
1. Один дополнительный вопрос по значимости. Так что это хорошо работает, если мой hostTextField.text неверен. Но если это правильно (даже с неправильным паролем), то он просто ничего не загружает и не падает. В любом случае, чтобы это исправить?
2. ИСПРАВЛЕНО: я добавил еще одно предупреждение после json. if(json == nil) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@»Оповещение Camaleon» сообщение: @ «Неверный хост / передача» делегат: ноль cancelButtonTitle: @»OK» Другие кнопки: nil]; [показать предупреждение]; return; } else {