Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSMutableArray子类不允许JSONModel类型错误_Objective C_Xcode_Json_Nsmutablearray_Jsonmodel - Fatal编程技术网

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”)

希望这些都有帮助