Ios5 N阵列导致viewDidLoad中的崩溃

Ios5 N阵列导致viewDidLoad中的崩溃,ios5,crash,nsarray,viewdidload,Ios5,Crash,Nsarray,Viewdidload,我有一个应用程序,它有两个独立的视图和两个独立的(并且分别填充的)nsarray。在array1中,我有10个“ABC”对象,在array2中,我有18个“ABC”对象。具有阵列1的视图1负载非常精细;但是,view2崩溃了。我改变了array2中“ABC”项的数量,作为调试的一种尝试和错误方法,发现我只能有15个“ABC”对象。一旦我添加了第十六个@“ABC”,应用程序就会崩溃,说了一些关于viewDidLoad的话。有没有人知道如何绕过这个问题,或者我正在做什么会导致应用程序崩溃 - (vo

我有一个应用程序,它有两个独立的视图和两个独立的(并且分别填充的)
nsarray
。在array1中,我有10个“ABC”对象,在array2中,我有18个“ABC”对象。具有阵列1的视图1负载非常精细;但是,view2崩溃了。我改变了array2中“ABC”项的数量,作为调试的一种尝试和错误方法,发现我只能有15个“ABC”对象。一旦我添加了第十六个@“ABC”,应用程序就会崩溃,说了一些关于
viewDidLoad
的话。有没有人知道如何绕过这个问题,或者我正在做什么会导致应用程序崩溃

- (void)viewDidLoad {
    array2 = [[NSArray alloc] initWithObjects:@"ABC1", @"ABC2", @"ABC3", @"ABC4", @"ABC5", @"ABC6", @"ABC7", @"ABC8", @"ABC9", @"ABC10", @"ABC11", @"ABC12", @"ABC13", @"ABC14", @"ABC15", ABC16", @"ABC17",@"ABC18",nil];

    [super viewDidLoad];
}

(#pragma mark Table view methods)

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [array2 count];
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    // Set up the cell...
    cell.textLabel.text = [array2 objectAtIndex:indexPath.row];
    cell.textLabel.textColor = [UIColor redColor];

    return cell;
}
正如我所说,array2可以完美地处理15个或更少的对象,但一旦我添加了16个或更多的对象,它就会崩溃。

根据您的问题:

array2 = [[NSArray alloc] initWithObjects:@"ABC1", @"ABC2", @"ABC3", @"ABC4", @"ABC5", @"ABC6", @"ABC7", @"ABC8", @"ABC9", @"ABC10", @"ABC11", @"ABC12", @"ABC13", @"ABC14", @"ABC15", ABC16", @"ABC17",@"ABC18",nil];
NSArray只能包含对象,不能包含基元C类型。您的第16个元素,
ABC16“
,将在array2初始化和应用程序崩溃期间作为原语读入


ABC16”
应该是
@“ABC16”

一旦我添加了第十六个“ABC”,应用程序就会崩溃,说了一些关于viewDidLoad的话。请提供更多信息。“某物”非常模糊,无助于缩小问题的范围。最好发布实际的错误消息。所以。。。我将其切换为NSMutableArray,如下所示:viewDidLoad{array2=[[NSMutableArray alloc]init];[Science addObject:@“ABC1”];[Science addObject:@“ABC2”];[Science addObject:@“ABC3”];---[Science addObject:@“ABC18”];}并在(UITableViewCell*)tableView中做了以下更改:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath:NSString*cellValue=[array2 objectAtIndex:indexPath.row];cell.textlab.text=cellValue;结果如何?很有魅力@乔恩,加上这个作为回答,一旦你能接受它。