不明白为什么我的NSString数据为空

时间:2014-01-19 23:32:47

标签: ios objective-c cocoa-touch nsstring jsonmodel

不明白为什么我的NSString数据为空。

我正在尝试从我的应用程序解析json网站上的数字字符串。它成功运行,但是当我试图在我的视图控制器中显示该数字时,它读取为null。我将发布一个示例代码供大家更好地理解。

Handler.m

JsonModel *jsonModel =[[JsonModel alloc]init];
jsonModel.idNumber = [jsonDict valueForKey:@"id"];
nslog(@"%@",jsonModel.idNumber);

JsonModel.h

 #import <Foundation/Foundation.h>

 @interface JsonModelModel : NSObject

 @property (nonatomic, strong) NSString *idNumber;

JsonModel.m

#import "JsonModel.h"

@implementation JsonModel
@synthesize idNumber;

这部分成功运作,我能够解析必要的数据,NSLog证明了这一点。但是,这就出现了问题。附: idNumber是NSString。

ViewController.m

-(void)method{
JsonModel *jsonModel =[[JsonModel alloc]init];
NSLog(@"%@",jsonModel.idNumber);
}

由于某种原因,NSLog显示为null。即使首先解析了json数据,然后调用视图控制器中的方法。我必须缺少一些小细节。如果有人帮助我解决问题,我会很感激。

1 个答案:

答案 0 :(得分:5)

执行

时,您正在创建一个全新的空JsonModel对象
JsonModel *jsonModel =[[JsonModel alloc]init];

因此JsonModel的此实例与您之前创建的实例完全无关(并设置jsonModel.idNumber)。

因此,您最终需要做的是保留您创建的原始jsonModel对象,并在视图控制器中使用该对象。