不明白为什么我的 NSString 数据为空。
我正在尝试从我的应用程序中解析来自 json 网站的数字字符串。它工作成功,但是当我试图在我的 View Controller 中显示该数字时,它显示为空。我将发布一个示例代码供大家更好地理解。
处理程序
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。View Controller .m
-(void)method{
JsonModel *jsonModel =[[JsonModel alloc]init];
NSLog(@"%@",jsonModel.idNumber);
}
由于某种原因,NSLog 显示为 null。即使先解析了 json 数据,然后调用了 View Controller 中的方法。我一定遗漏了一些小细节。如果有人帮我弄清楚,将不胜感激。
最佳答案
您正在创建一个全新的、空的 JsonModel
执行时的对象
JsonModel *jsonModel =[[JsonModel alloc]init];
所以这个
JsonModel
的实例与您之前创建的完全无关(并设置 jsonModel.idNumber
)。所以最终你需要做的是保留原来的
jsonModel
您创建的对象,并在 View Controller 中使用相同的对象。
关于ios - 不明白为什么我的 NSString 数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224085/