这是一个新手问题。我有一个如下所示的对象(例如MyObject.h
)。
#import <Foundation/Foundation.h>
#import "JSONModel.h"
@protocol MyObject
@end
@interface MyObject : JSONModel
@property (strong,nonatomic) NSString* name;
@end
实现如下所示(例如MyObject.m
)。
#import "MyObject.h"
@implementation MyObject
@end
在其他地方的代码中,我定义 aNSMutableArray
如下。
NSMutableArray<MyObject>* list;
list = [[NSMutableArray alloc] init];
我得到了这个警告。
从 'NSMutableArray '分配 'NSMutableArray<MyObject> ' 的指针类型不兼容
我知道Objective-C不支持开箱即用的泛型集合(这也不是我在这里想要做的),但我NSMutableArray
是用这样的协议定义的,MyObject
因为我试图遵循“JSONModel's” GitHub 页面中的示例。
代码仍然可以编译,但有上面的警告。我如何
- 使警告消失,或
- 正确分配/初始化
NSMutableArray
?
更新:
我继续搜索如何摆脱该警告,事实证明,如果我创建NSMutableArray
如下内容,警告就会消失(并且项目编译没有错误)。我将编写一个单元测试,看看它是否按预期工作。
list = (id)[NSMutableArray new];