不明白为什么我的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数据,然后调用视图控制器中的方法。我必须缺少一些小细节。如果有人帮助我解决问题,我会很感激。
答案 0 :(得分:5)
执行
时,您正在创建一个全新的空JsonModel
对象
JsonModel *jsonModel =[[JsonModel alloc]init];
因此JsonModel
的此实例与您之前创建的实例完全无关(并设置jsonModel.idNumber
)。
因此,您最终需要做的是保留您创建的原始jsonModel
对象,并在视图控制器中使用该对象。