NSArrayM长度:发送到实例的无法识别的选择器

时间:2011-05-22 04:51:48

标签: iphone nsmutablearray

在我被烤之前,让我说我已经查看了“无法识别的选择器发送到实例”的几乎所有答案,并尝试了一些建议但似乎没有任何效果。所以这是我的问题。

我在CreateAboutData函数中调用我的函数viewDidLoad

-(void)createAboutData
{
    NSMutableArray *aboutText;

    aboutSections = [[NSMutableArray alloc] initWithObjects:@"About", nil];
    aboutText = [[NSMutableArray alloc] init];
    //Set About Info
    [aboutText addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Scoring",@"title",@"Scoring blurb", @"text", nil]];

    aboutData = [[NSMutableArray alloc] initWithObjects:aboutText, nil];
    [aboutText release];
}

控制器即aboutView由我的HomeView控制器调用。

AboutViewTableController *aboutNavController = [[AboutViewTableController alloc] initWithNibName:@"AboutViewTableController" bundle:nil];
    aboutNavController.title = @"About One";

    // Create the nav controller and add the view controllers.
    UINavigationController *theNavController = [[UINavigationController alloc] initWithRootViewController:aboutNavController];

    // Display the nav controller modally.
    [self presentModalViewController: theNavController animated:YES]; <==== THIS IS WHERE IT FAILS

当代码失败时,它会抱怨: - [__ NSArrayM长度]:无法识别的选择器发送到实例。

aboutData在头文件中与createData函数一起声明,如下所示:

@interface AboutViewTableController : UITableViewController {
    NSMutableArray *aboutData;
    NSMutableArray *aboutSections;
}

-(void)createAboutData;
@end

所以问题是为什么它提出了一个例外我一直在努力并尝试不同的途径无济于事。 我也尝试使用retain和nonatomic set使aboutData成为一个属性,但同样的问题就出现了。 我也很困惑,因为没有在哪里查询长度。 感谢

1 个答案:

答案 0 :(得分:3)

嘿,我之前有这个。你正在做某个地方:[数组长度];但是数组使用“count”,而不是“length”。

有时会混淆其命名约定,通常在OT