基本上,我有这个if语句:
NSString *loginResult = [resultsArray valueForKey:@"statusMsg"];
if ([loginResult isEqualToString:@"success"])
{
[self successDialog]; // Success
}
else
{
[self failedDialog]; // Failed
}
如果成功,这是解析的JSON:
{"results":{"statusMsg":"success"}}
如果失败,解析的JSON会有所不同:
{"results":{"statusMsg":"password incorrect."}}
我想将键 statusMsg 返回的字符串值传递给failedDialog方法内的警报视图。 failedDialog方法定义为:
- (void)failedDialog:(NSString *)errorMessage
{
UIAlertView *dialog = [[UIAlertView alloc] initWithTitle:kRegFailed
message:errorMessage
delegate:self
cancelButtonTitle:kOK
otherButtonTitles:nil, nil];
dialog.tag = 2;
[dialog show];
}
我该怎么做才能让警报视图返回错误信息。 TIA!
答案 0 :(得分:1)
如果你的resultsArray是NSArray对象
,不知道为什么你这样做NSString *loginResult = [resultsArray valueForKey:@"statusMsg"];
将它放在头文件中
- (void)failedDialog:(NSString *)errorMessage;
试试这个,假设您的 jsonDict = {“results”:{“statusMsg”:“密码不正确”。 }
[self failedDialog:[NSString stringWithString:[[jsonDict objectForKey:@"results"]objectForKey:@"statusMsg"]]];
答案 1 :(得分:1)
编辑:
NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSString *loginResult = [[jsonDictionary objectForKey:@"results"] objectForKey:@"statusMsg"];
if ([loginResult isEqualToString:@"success"])
{
[self successDialog]; // Success
}
else
{
[self failedDialog:loginResult]; // Failed
}