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数据,然后调用视图控制器中的方法.我必须缺少一些小细节.如果有人帮我搞清楚,我会很感激.
JsonModel执行时,您正在创建一个全新的空对象
JsonModel *jsonModel =[[JsonModel alloc]init];
Run Code Online (Sandbox Code Playgroud)
所以这个实例JsonModel与你之前创建的(和set jsonModel.idNumber)完全无关.
因此,最终您需要做的是保留jsonModel您创建的原始对象,并在视图控制器中使用该对象.
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |