5
 Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:], /SourceCache/UIKit/UIKit-2380.17/UITableViewRowData.m:400

 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException',     reason:'Failed to allocate data stores for 997008923 rows in section 0. Consider using fewer rows'

私のコード

 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {

   return 1;

  }


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

{

   return [appDelegate.purchaseArray count];

}



- (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];
    }
    return cell;
}    

-(void)viewWillAppear:(BOOL)animated
{

    [cartTbl reloadData];

}

私はこれで何が問題なのですか?

4

4 に答える 4

8

を確認してくださいtableView:heightForRowAtIndexPath:。高さの代わりにNaN/ +inf/のようなものを返しているのかもしれません。-infそれは私のバグでした。

これはdoublefloatのタイプがゼロで除算するためのクラッシュではないことに注意してください。

double d = 5.0;
double r = d/0.0;

したがって、これはあなたを助けることができます:

if (isnan(r) || isinf(r)) {
    // ...
}
于 2014-10-20T09:56:28.840 に答える
0

return [appDelegate.purchaseArray count];ガベージ値のように見えます。初期化されていることを確認してください。

于 2015-04-30T18:41:51.763 に答える