1

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

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

处理程序

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证明它。然而,问题来了。PS idNumber 是 NSString。

视图控制器.m

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

由于某种原因,NSLog 显示为 null。即使先解析了 json 数据,然后调用了视图控制器中的方法。我一定遗漏了一些小细节。如果有人帮我弄清楚,将不胜感激。

4

1 回答 1

5

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

JsonModel *jsonModel =[[JsonModel alloc]init];

因此,此实例JsonModel与您之前创建的实例(和 set )完全无关jsonModel.idNumber

所以最终你需要做的是保留jsonModel你创建的原始对象,并在视图控制器中使用相同的对象。

于 2014-01-19T23:35:28.030 回答