Objective c NSMutableArray子类不允许JSONModel类型错误
这个问题让我发疯,但我认为答案比预期的简单。 我有一门课是这样的:Objective c NSMutableArray子类不允许JSONModel类型错误,objective-c,xcode,json,nsmutablearray,jsonmodel,Objective C,Xcode,Json,Nsmutablearray,Jsonmodel,这个问题让我发疯,但我认为答案比预期的简单。 我有一门课是这样的: @protocol Messagge @end @interface Messagge : JSONModel @properties ..... ... ... .. - (...) methods...... @end @interface AnswerMessages : AJSONModelSubClass @property (strong,nonatomic) NSMutableArray<Messa
@protocol Messagge @end
@interface Messagge : JSONModel
@properties ..... ... ... ..
- (...) methods......
@end
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) NSMutableArray<Messaggio, ConvertOnDemand> *messaggi;
- (...) methods....
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) Messaggi *messaggi;
- (...) methods.....
我将此类用于从Web服务下载为json的NSMutableArray中的对象。
在另一个类似的类中:
@protocol Messagge @end
@interface Messagge : JSONModel
@properties ..... ... ... ..
- (...) methods......
@end
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) NSMutableArray<Messaggio, ConvertOnDemand> *messaggi;
- (...) methods....
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) Messaggi *messaggi;
- (...) methods.....
并尝试更改AnswerMessages类,如下所示:
@protocol Messagge @end
@interface Messagge : JSONModel
@properties ..... ... ... ..
- (...) methods......
@end
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) NSMutableArray<Messaggio, ConvertOnDemand> *messaggi;
- (...) methods....
@interface AnswerMessages : AJSONModelSubClass
@property (strong,nonatomic) Messaggi *messaggi;
- (...) methods.....
但现在,当我使用initFromURLWithString:
app终止时,原因是:
*** Terminating app due to uncaught exception 'Type not allowed', reason: 'Messagges type not supported for AnswerMessages.messagges'
所以我尝试了一些改变,但都没有奏效
有什么帮助吗
提前感谢因为
NSArray
和NSMutableArray
convertonedmand的性质,需要在后台使用不同的类(即声明一个NSArray属性,但如果希望它仅在需要时将字典转换为模型,它实际上会将属性更改为另一个自定义类)
简言之,JSONModel
并没有真正测试过如何使用NSArray
的子类,因此如果您只使用NSArray
,可能会更容易。当然,如果列表中没有太多项,ConvertOnDemand将不能与自定义类一起工作(您也可以尝试跳过“ConvertOnDemand”)
希望这些都有帮助 由于
NSArray
和NSMutableArray
convertonedmand的性质,需要在后台使用不同的类(即声明一个NSArray属性,但如果希望它仅在需要时将字典转换为模型,它实际上会将属性更改为另一个自定义类)
简言之,JSONModel
并没有真正测试过如何使用NSArray
的子类,因此如果您只使用NSArray
,可能会更容易。当然,如果列表中没有太多项,ConvertOnDemand将不能与自定义类一起工作(您也可以尝试跳过“ConvertOnDemand”)
希望这些都有帮助