如何将NSString值传递给Objective-C中的另一个属性

时间:2012-09-24 06:26:26

标签: objective-c xcode methods nsstring

基本上,我有这个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!

2 个答案:

答案 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
}