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

use*_*186 1 cocoa-touch objective-c nsstring ios jsonmodel

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

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

Handler.m

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

JsonModel.h

 #import <Foundation/Foundation.h>

 @interface JsonModelModel : NSObject

 @property (nonatomic, strong) NSString *idNumber;
Run Code Online (Sandbox Code Playgroud)

JsonModel.m

#import "JsonModel.h"

@implementation JsonModel
@synthesize idNumber;
Run Code Online (Sandbox Code Playgroud)

这部分工作成功,我能够解析必要的数据并NSLog证明它.但是,这就出现了问题.PS idNumber是NSString.

ViewController.m

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

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

Gre*_*ill 5

JsonModel执行时,您正在创建一个全新的空对象

JsonModel *jsonModel =[[JsonModel alloc]init];
Run Code Online (Sandbox Code Playgroud)

所以这个实例JsonModel与你之前创建的(和set jsonModel.idNumber)完全无关.

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