我试图将封装到应用中(关于这是什么代码是应该做的,看到here的解释)......这是类“A”的代码:封装造成死机
.H文件
@interface ExportBookData : NSObject {
@public NSArray *booksArray;
@public NSMutableDictionary *builtFileList;
@public NSMutableArray *exportData;
}
- (id)initWithCategory: (NSString*) booksellerID;
@end
这是.m文件代码:
.m文件
@implementation ExportBookData
-(id)initWithCategory: (NSString*) booksellerID {
return (id)booksellerID;
}
@end
这是在“B”级方法(.m文件)的使用该封装的数据的开头:
ExportBookData *abe = [[ExportBookData alloc] initWithCategory:@"ABE"];
abe->builtFileList = [NSMutableDictionary dictionary]; <- crash on this line
abe->exportData = [NSMutableArray arrayWithCapacity:abe->booksArray.count];
if(cbvABE.checked) {
我得到上的代码的第2行以下错误指示:
由于我是使用封装的noob,我没有看到我做错了什么。我跟随了几个与我的代码类似的例子;我做错了什么导致这次崩溃?
[NSMutableDictionary dictionary]不分配新的字典。尝试] [NSMutableDictionary alloc] initWithCapacity:10];例如。 –
这样做([[NSMutableDictionary alloc] initWithCapacity:10];),同样的错误... – SpokaneDude
哦,对不起,你的init必须先调用超级init,构造函数必须返回self。 –