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

标签 ios objective-c cocoa-touch nsstring jsonmodel

不明白为什么我的 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/

相关文章:

iphone - 貌似是小错误 "Expected expression"但是找不到解决方法

ios - 调用 setEnabled 时,UIActionSheet 中的 subview 不会重绘

ios - iPad 模态表单查看 不

ios - 更改研究套件的 UILabel 颜色

ios - 在自定义 UITableView 中--类型 'AnyObject->()' 的值没有成员 'tag' 错误

ios - 即使 UINavigation 栏存在,UIViewController 的内容也不会显示

ios - 如何用新数据刷新 UItableViewcell

ios - MPMoviePlayerController 显示黑屏

objective-c - 检查 NSString 是否只包含一个重复字符

ios - <错误>:CGImageCreateWithImageProvider:无效的图像大小:150 x150。__connection_block_invoke_2中的错误:连接中断