如何添加警报'如果数据参数 = nil'

Posted

技术标签:

【中文标题】如何添加警报\'如果数据参数 = nil\'【英文标题】:How to add alert 'if data parameter = nil'如何添加警报'如果数据参数 = nil' 【发布时间】:2014-06-19 00:21:15 【问题描述】:

您好,如果我无法连接到 Web 服务,我正在尝试创建警报。本质上,如果我看到 'data parameter is nil',那么我想要一个警报说“无法连接,然后返回。

这是我正在使用的代码。

- (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】:

所以,逐字逐句:

“基本上,如果我看到‘数据参数为 nil’,那么我想要一个警报说“无法连接,然后返回。”

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

【讨论】:

另外一个相关问题。因此,如果我的 hostTextField.text 错误,这很有效。但如果它是正确的(即使密码错误),它也不会加载任何内容,也不会崩溃。无论如何要解决这个问题? FIXED:我在 json 之后添加了另一个警报。 if(json == nil) UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Camaleon Alert" message:@"Incorrect Host/Pass" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [警报显示];返回; 其他

以上是关于如何添加警报'如果数据参数 = nil'的主要内容,如果未能解决你的问题,请参考以下文章

无法使用参数调用“==”[重复]

向 Core Data 添加数据时出现问题 - nil 不是合法参数

我可以为警报控制器添加长按事件吗

AFNetworking 数据参数为 nil JSON 数据

Flex:向警报 closeHandler 发送参数

如何解决 NSInternalInconsistencyException: 原因: '无效参数不满足: (name != nil) && ([name length] > 0)