iOS版的JsonModel有什么问题

iOS版的JsonModel有什么问题,ios,jsonmodel,Ios,Jsonmodel,这对我以前一直有效,但突然停止了 我让JSONModel很好地解析了一个对象优惠券,实际上这个对象不是空的,但是当我转换一些属性时,例如touck.title,我得到了这个错误 ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[\uu NSCFDictionary title]:未识别的选择器已发送到实例0x7f8510645ba0” 为什么会这样? 多谢各位 这是我的目标: #import "JSONModel.h" @protocol

这对我以前一直有效,但突然停止了

我让JSONModel很好地解析了一个对象优惠券,实际上这个对象不是空的,但是当我转换一些属性时,例如touck.title,我得到了这个错误

***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[\uu NSCFDictionary title]:未识别的选择器已发送到实例0x7f8510645ba0”

为什么会这样? 多谢各位

这是我的目标:

#import "JSONModel.h"

@protocol Coupon
@end

@interface Coupon : JSONModel;
@property (assign, nonatomic) NSString* title;
@property (strong, nonatomic) NSString* subtitle;
@property (strong, nonatomic) NSString* text;
@end
而json:

{
"subtitle":"ENDOR",
"title":"This IS THE OBJECT 1",
"text":"And this is the text of the coupon!!!"
}

您没有保留标题属性中的字符串;您应该查阅苹果内存管理文档:

尝试使用copy@property属性保持数据可用:

@interface Coupon : JSONModel;
@property (copy, nonatomic) NSString* title;
@property (copy, nonatomic) NSString* subtitle;
@property (copy, nonatomic) NSString* text;
@end
更多信息请点击这里

如果您不确定,如果您再收到JSON数据,您可以使用以下代码对其进行调试:

// In case JSON parsing was successful:
NSLog(@"%@", json);
// In case JSON parsing failed:
NSLog(@"%@", [[NSString all] initWithData:json encoding:NSUTF8StringEncoding]);

好吧,问题就出在我安装的一个吊舱里。

发现了这个问题,试图找出我自己的问题

就我而言,问题是:

@property (assign, nonatomic) NSString* title;
vs


马林·托多罗夫是对的,但我花了一段时间才明白为什么失败了。该库正在丢失引用,后来在尝试获取值时,无法解析数据

你能发布你正在使用的JSON数据吗?没有任何细节,没有人能回答你的问题!很抱歉,请其他比我更好的人解释一下,title属性中存储的值被提前释放了,用比我更简单的话来说——看起来我还没有完全释放出来……好吧,就像@MarinTodorov说的:一小时前title指向一个字符串。可能是因为json字符串仍然保留在内存中。但是,json字符串可能被释放了。所以现在标题指向垃圾。因为你没有保留标题属性中的字符串。我也没有使用SWIFT。我不知道如何为你提供更多帮助。。。如果您不保留ArcName发布的对象,则会发生以下情况:\b顺便说一句,您的错误说明中说词典中没有标题,因此您最好了解实际的标题。可能是来自服务器的错误说明,或者可能您根本并没有收到任何nilHi Rafael。我没有就你的问题投票,但我们要求有关投票或投票公平性的评论保留在评论中。如果你认为自己受到了特别恶劣的待遇,那么你可以随时发布到Meta。同时,我建议您删除此答案并重新发布答案信息。如果你能扩展这一句话,你甚至可以获得更多的选票!
@property (strong, nonatomic) NSString* title;