[英]unrecognized selector sent to instance
我正在尝试初始化一个数组并将一个章节对象添加到一个book对象数组中,但它崩溃了错误:
2012-07-25 21:41:01.503 Project1 [2364:f803] - [__ NSCFString arrayOfChapters]:无法识别的选择器发送到实例0x6ad80b0 2012-07-25 21:41:01.505 Project1 [2364:f803] *由于未被捕获而终止应用程序异常'NSInvalidArgumentException',原因:' - [__ NSCFString arrayOfChapters]:无法识别的选择器发送到实例0x6ad80b0'
我的代码:
Chapter *myChapter = [[Chapter alloc]init];
myChapter.pageCount = self.TextField2.text;
myChapter.chapterTitle = self.TextField1.text;
if(!currentBook.arrayOfChapters)
{
currentBook.arrayOfChapters = [[NSMutableArray alloc]init];
}
currentBook = [books objectAtIndex:segControl.selectedSegmentIndex];
[currentBook.arrayOfChapters addObject:myChapter];
我认为代码是正确的,我的项目是否存在错误? 我相信这是导致实际崩溃的初始化,但那里没有任何非标准。
看起来currentBook是一个字符串或未初始化。
你可以在“ if(!currentBook.arrayOfChapters)
”行上创建一个断点来检查currentBook是否为零;
在"currentBook = [books objectAtIndex:segControl.selectedSegmentIndex];
”行上创建一个断点,检查segControl.selectedSegmentIndex> = [books count]
我可能会误读这个但是......
if(!currentBook.arrayOfChapters)
{
// creating array for current book
currentBook.arrayOfChapters = [[NSMutableArray alloc]init];
}
// reassigning a new book to current book. Are you sure this new one has array of chapters?
currentBook = [books objectAtIndex:segControl.selectedSegmentIndex];
// trying to access array of chapters
[currentBook.arrayOfChapters addObject:myChapter];
你不应该首先分配,然后创建数组,如果它还没有?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.