iOS 使用JSONMODEL对象时为空

姚小白 2015-10-29 02:53:07
下面2段代码是 JsonModel对象:
#import <JSONModel/JSONModel.h>

@protocol PersonalInfoR

@end

@interface PersonalInfoR : JSONModel

@property NSInteger id;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *phone;
@property NSInteger birthday;
@property NSInteger mainAddressId;
@property NSInteger mainCompanyId;
@property (nonatomic, copy) NSString *picAddr;
@property NSInteger termId;
@property (nonatomic, copy) NSString *password;
@property NSInteger valid;
@property NSInteger loginTime;
@property NSInteger privacy;
@property (nonatomic, copy) NSString *pinyin;
@property NSInteger onlinetime;

@end



@protocol PersonalInfoR;

@interface PersonalInfo : JSONModel

@property (nonatomic, strong) PersonalInfoR *body;
@property NSInteger status;
@property (nonatomic, copy) NSString *message;

@end


使用
_myPersonalInfo = [[PersonalInfo alloc] initWithDictionary:responseObject error:nil];

获取http请求返回到数据,responseObject 是返回数据。
直接输出 responseObject 如下:


有数据, 但_myPersonalInfo 为空:如下


搞了好久,还没解决,请大神赐教
...全文
1248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
风终将离去 2018-05-31
  • 打赏
  • 举报
回复
加多一个<Optional>,如@property (nonatomic, copy) NSString<Optional> *name;就不会有数据空,导致整个类都是nil了。虽然时间已经过去了很久,楼主也肯定已经解决了,还是希望可以帮到后来的人吧。因为很多时候,着急发问题,等到解决了就没有回应解决的方案,又导致了后来的人们找了很久。
姚小白 2016-05-06
  • 打赏
  • 举报
回复
引用 楼主 u010425713 的回复:
下面2段代码是 JsonModel对象:
#import <JSONModel/JSONModel.h>

@protocol PersonalInfoR

@end

@interface PersonalInfoR : JSONModel

@property  NSInteger id;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *phone;
@property  NSInteger birthday;
@property  NSInteger mainAddressId;
@property  NSInteger mainCompanyId;
@property (nonatomic, copy) NSString *picAddr;
@property  NSInteger termId;
@property (nonatomic, copy) NSString *password;
@property  NSInteger valid;
@property  NSInteger loginTime;
@property  NSInteger privacy;
@property (nonatomic, copy) NSString *pinyin;
@property  NSInteger onlinetime;

@end

@protocol PersonalInfoR;

@interface PersonalInfo : JSONModel

@property (nonatomic, strong) PersonalInfoR *body;
@property  NSInteger status;
@property (nonatomic, copy) NSString *message;

@end
使用
_myPersonalInfo = [[PersonalInfo alloc] initWithDictionary:responseObject error:nil];
获取http请求返回到数据,responseObject 是返回数据。 直接输出 responseObject 如下: 有数据, 但_myPersonalInfo 为空:如下 搞了好久,还没解决,请大神赐教
_myPersonalInfo = [[PersonalInfo alloc] initWithDictionary:responseObject error:&error]; 不要吧error设成nil,可以新建个Error,然后运行到这里打断点,error里包含了错误信息,一般是JSONMODEL对象里变量类型什么的和传过来的JSON数据不匹配造成的,具体可以看error里面有详细错误原因
menglanfenghen 2016-05-06
  • 打赏
  • 举报
回复
建议改为 _myPersonalInfo = [[PersonalInfo alloc] initWithDictionary:[responseObject objectForKey:@"body"] error:nil]; 试试
Clear_Love 2016-05-05
  • 打赏
  • 举报
回复
有解决方案吗, 同求!!!

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧