Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将NSString值传递给Objective-C中的另一个属性_Objective C_Xcode_Methods_Nsstring - Fatal编程技术网

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

如何将NSString值传递给Objective-C中的另一个属性,objective-c,xcode,methods,nsstring,Objective C,Xcode,Methods,Nsstring,基本上,我有一个if语句: NSString *loginResult = [resultsArray valueForKey:@"statusMsg"]; if ([loginResult isEqualToString:@"success"]) { [self successDialog]; // Success } else { [self failedDialog]; // Failed } 如果成功,这是已解析的JSON: {"results":{"statusMs

基本上,我有一个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];  
}

如何才能使警报视图返回错误消息。蒂亚

如果resultsArray是NSArray对象,那么想知道为什么要这样做

NSString *loginResult = [resultsArray valueForKey:@"statusMsg"];
把这个放在你的头文件里

- (void)failedDialog:(NSString *)errorMessage;
试试这个,假设您的jsonDict={“结果”:{“statusMsg”:“密码不正确”。}}

[self failedDialog:[NSString stringWithString:[[jsonDict objectForKey:@"results"]objectForKey:@"statusMsg"]]];

编辑

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
}

我想要的是failedDialog接收消息not successDialog。很抱歉,我编辑了答案,只是更改了方法名称。。看看我有这个警告:实例方法'-failedDialog:'未找到(返回类型默认为'id')警告是什么?resultsArray是数组还是字典?将其放入头文件.h文件-(void)failedDialog:(NSString*)errorMessage;这是我想要的,但是它返回了一个警告。我实现了头文件更改,它成功了。我接受了尼奥的回答,因为这让我达到了我想要达到的目标。