2011-05-24 57 views
-1

你好我在iphone的新手,在與iphone我停留在餐桌上開始觀看我的應用程序不斷給NSException和崩潰表視圖一直給NSException和崩潰

只要我在廈門國際銀行應用程序添加的tableView開始崩潰 這裏是TableViewController.m

// 
// TableViewController.m 
// Table 
// 
// Created by Kunwar Handa on 17/05/11. 
// Copyright 2011. All rights reserved. 
// 

#import "TableViewController.h" 

@implementation TableViewController 

@synthesize listData; 


/* 
// The designated initializer. Override to perform setup that is required before the view is loaded. 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 
*/ 

/* 
// Implement loadView to create a view hierarchy programmatically, without using a nib. 
- (void)loadView { 
} 
*/ 



// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 

#pragma mark Table View Control Methods 

- (void)viewDidLoad 
{ 

    NSArray *array = [[NSArray alloc] initWithObjects:@"sleepy1",@"sleepy2",@"sleepy3",@"sleepy4",@"sleepy5",@"sleepy6",@"sleepy7", 
                @"sleepy8",@"sleepy9",@"sleepy10",@"sleepy11",@"sleepy12",nil]; 

    self.listData = array; 

    [array release]; 
    [super viewDidLoad]; 

} 


// Override to allow orientations other than the default portrait orientation. 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 


- (void)didReceiveMemoryWarning { 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

- (void)dealloc { 
    [listData release]; 
    [super dealloc]; 
} 

#pragma mark - 
#pragma mark Table View Data Source Methods 

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

{ 
    return [self.listData count]; 

} 

-(UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 


    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier]; 


    if (cell == nil) { 
     [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:SimpleTableIdentifier] autorelease]; 


    } 

    NSUInteger row = [indexPath row]; 
    cell.text = [listData objectAtIndex:row]; 
    return cell; 

} 




/* 
- (void)viewDidUnload { 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

*/ 


@end 

這裏的代碼日誌

2011-05-24 20:08:19.651 Table[4699:207] *** Assertion failure in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UITableView.m:5613 
2011-05-24 20:08:19.654 Table[4699:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x00da8be9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x00efd5c2 objc_exception_throw + 47 
    2 CoreFoundation      0x00d61628 +[NSException raise:format:arguments:] + 136 
    3 Foundation       0x000ac47b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116 
    4 UIKit        0x003258f3 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 883 
    5 UIKit        0x0031b77f -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 75 
    6 UIKit        0x00330450 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1561 
    7 UIKit        0x00328538 -[UITableView layoutSubviews] + 242 
    8 QuartzCore       0x01c66451 -[CALayer layoutSublayers] + 181 
    9 QuartzCore       0x01c6617c CALayerLayoutIfNeeded + 220 
    10 QuartzCore       0x01c5f37c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310 
    11 QuartzCore       0x01c5f0d0 _ZN2CA11Transaction6commitEv + 292 
    12 UIKit        0x002b419f -[UIApplication _reportAppLaunchFinished] + 39 
    13 UIKit        0x002b4659 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 690 
    14 UIKit        0x002bedb2 -[UIApplication handleEvent:withNewEvent:] + 1533 
    15 UIKit        0x002b7202 -[UIApplication sendEvent:] + 71 
    16 UIKit        0x002bc732 _UIApplicationHandleEvent + 7576 
    17 GraphicsServices     0x016dea36 PurpleEventCallback + 1550 
    18 CoreFoundation      0x00d8a064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    19 CoreFoundation      0x00cea6f7 __CFRunLoopDoSource1 + 215 
    20 CoreFoundation      0x00ce7983 __CFRunLoopRun + 979 
    21 CoreFoundation      0x00ce7240 CFRunLoopRunSpecific + 208 
    22 CoreFoundation      0x00ce7161 CFRunLoopRunInMode + 97 
    23 UIKit        0x002b3fa8 -[UIApplication _run] + 636 
    24 UIKit        0x002c042e UIApplicationMain + 1160 
    25 Table        0x000027c8 main + 102 
    26 Table        0x00002759 start + 53 
    27 ???         0x00000001 0x0 + 1 
) 
terminate called after throwing an instance of 'NSException' 
Program received signal: 「SIGABRT」. 
(gdb) 

回答

1

你是不是你的分配CE二。你需要...

cell = [[[UITableViewCell alloc] initWithFrame:CGR.........etc 
+0

thnx它成功了:) – kun 2011-05-24 15:11:41

+0

你能接受答案然後;)乾杯。 – 2011-05-24 15:20:07

+0

-0.5,因爲iOS 3.0中不推薦使用。你應該使用' - (id)initWithStyle:(UITableViewCellStyle)風格reuseIdentifier:(NSString *)reuseIdentifier' – 2011-05-24 15:24:28