0

私の問題は、UITable があり、cellForRowAtIndexPath に対応する numberOfRowsInSection を取得できないことです。

私の foodCategoryObj には 3 つの配列があり、最初の配列には 6 つの要素があり、2 つ目には 2 つ、3 つ目には 3 つの要素があります。

この行 FoodCategory *foodCategoryObj = [appDelegate.foodCategoryArray objectAtIndex:indexPath.row];

..このエラーをスローし続けます..境界を超えたインデックス 2 [0 .. 1]

全体的に、numberOfRowsInSection に返す数値がわかりません

また、arrayCountInt は、viewWillAppear で作成した配列内のオブジェクトの数を返します。

- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *arrayCountString = [prefs stringForKey:@"arrayCountString"];
NSInteger *arrayCountInt = [arrayCountString intValue];
//NSLog(@"arrayCountInt.. %i", (arrayCountInt) - 1);


AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSInteger *arrayCount = [appDelegate.foodCategoryArray count];


NSInteger *foodArray = [foodCatArray count];


// testing
NSLog(@"foodCatArray.. %i", foodArray);


return arrayCountInt;
}


- (UITableViewCell *)tableView:(UITableView *)tblView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";

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

//NSLog(@"indexPath.row.. %i", (indexPath.row)-1);
FoodCategory *foodCategoryObj = [appDelegate.foodCategoryArray objectAtIndex:indexPath.row];

//Set the cell title
cell.text = foodCategoryObj.foodName;


// testing
//NSLog(@"%@", foodCategoryObj.foodName);
//NSLog(@"appDelegate.foodCategoryArray.. %@", appDelegate.foodCategoryArray);

return cell;
}
4

1 に答える 1

0

[appDelegate.foodCategoryArray count]メソッドで返さないのはなぜですかnumberofrowInSection。あなたはあなたを返す必要がfoodArrayあり、間違ったvarを返します

于 2012-12-01T16:32:11.887 に答える