2012-10-04 55 views
0

我對此很新,但是當我嘗試在iOS模擬器上模擬時,它會停止,然後彈出此錯誤...我添加了一個View Controller for我的故事板中有一張桌子。我將包括該文件,以便你們有足夠的信息來幫助我。在線模擬器中運行時出現「線程1:信號SIGARBT」錯誤

我只是想讓我的表視圖顯示數組的一些元素。導航控制器是根視圖控制器,它直接進入我希望顯示數組課程的表視圖控制器。

這裏是我的應用程序deligate

//AppDeligate.m 

#import "AppDelegate.h" 
#import "CoursesViewController.h" 
#import "Courses.h" 

@implementation AppDelegate{ 
    NSMutableArray *courses;} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions 
(NSDictionary *)launchOptions 
{ 
    courses = [NSMutableArray arrayWithCapacity:20]; 
    Courses *course = [[Courses alloc] init]; 
    course.code = @"SFWR 3X03"; 
    course.units = 3; 
    [courses addObject:course]; 
    UINavigationController *navigationController = 
    (UINavigationController *)self.window.rootViewController; 
    CoursesViewController *CoursesViewController = 
    [[navigationController viewControllers] objectAtIndex:1]; 
    CoursesViewController.courses = courses; 
    return YES; 
} 

這裏是我的CoursesViewController.m

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
#warning Potentially incomplete method implementation. 
    // Return the number of sections. 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
#warning Incomplete method implementation. 
    // Return the number of rows in the section. 
    return [self.courses count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  
*)indexPath 
{ 
    UITableViewCell *cell = [tableView 
          dequeueReusableCellWithIdentifier:@"PlayerCell"]; 
    Courses *course = [self.courses objectAtIndex:indexPath.row]; 
    cell.textLabel.text = course.code; 
    return cell; 
} 

這裏是我的coursesviewcontroller.h

#import <UIKit/UIKit.h> 

@interface CoursesViewController : UITableViewController 
@property (nonatomic, strong) NSMutableArray *courses; 

@end 

這是我courses.m和課程.h

#import "Courses.h" 

@implementation Courses 

@synthesize code; 
@synthesize units; 

#import <Foundation/Foundation.h> 

@interface Courses : NSObject 

@property (nonatomic, copy) NSString *code; 
@property (nonatomic, assign) int units; 
@end 



@end 

當我嘗試在模擬器中運行,它翻轉到main.m文件,並顯示了關於線程1

的SIGARBT錯誤。如果我還沒有包括足夠的信息讓我知道,生病後更。

控制檯輸出:

2012-10-04 14:44:14.726 MacMarks[475:c07] *** Terminating app due to uncaught exception  
'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the  
"fBI-R0-7j9-view-iYf-OA-4cJ" nib but didn't get a UITableView.' 
*** First throw call stack: 
(0x1c8e012 0x10cbe7e 0x1c8ddeb 0x242417 0xf4648 0xf4882 0xf4b2a 0x10bef5 0x10bfdb 0x10c286  
0x10c381 0x10ceab 0x10cfc9 0x10d055 0x2123ab 0x6392d 0x10df6b0 0x228afc0 0x227f33c 
0x228aeaf 0x1028cd 0x4b1a6 0x49cbf 0x49bd9 0x48e34 0x48c6e 0x49a29 0x4c922 0xf6fec 0x43bc4 
0x43dbf 0x43f55 0x4cf67 0x10fcc 0x11fab 0x23315 0x2424b 0x15cf8 0x1be9df9 0x1be9ad0 
0x1c03bf5 0x1c03962 0x1c34bb6 0x1c33f44 0x1c33e1b 0x117da 0x1365c 0x22fd 0x2225) 
libc++abi.dylib: terminate called throwing an exception 
(lldb) 
+1

Xcode在控制檯上的輸出是什麼? – sergio

+0

2012-10-04 12:33:15.917 MacMarks [270:c07] ***因未捕獲異常'NSRangeException'而終止應用程序,原因:'*** - [__ NSArrayI objectAtIndex:]:index 1 beyond bounds [0。 。0]」 ***第一擲調用堆棧: (0x1c8e012 0x10cbe7e 0x1c43b44 0x2502 0x107b7 0x10da7 0x11fab 0x23315 0x2424b 0x15cf8 0x1be9df9 0x1be9ad0 0x1c03bf5 0x1c03962 0x1c34bb6 0x1c33f44 0x1c33e1b 0x117da 0x1365c 0x22fd 0x2225) 的libC++ ABI。dylib:終止叫拋出異常 (lldb) – drfear

+0

啊,這有點幫助我,我仍然想聽聽你的想法:) – drfear

回答

0

由於您使用的是故事板,你沒有做任何的代碼實例化導航控制器或您的CoursesViewController(一切你比公佈的「迴歸是」其他應被刪除)。爲了得到陣列到您的CoursesViewController,下面的代碼添加到其viewDidLoad方法:

self.courses = [NSMutableArray arrayWithCapacity:20]; 
    Courses *course = [[Courses alloc] init]; 
    course.code = @"SFWR 3X03"; 
    course.units = 3; 
    [courses addObject:course]; 
    [super viewDidLoad]; 
    [self.tableView reloadData]; 

我假設你有你的.h文件中的屬性稱爲課程(輸入強)。

+0

我得到導航控制器現在沒有在對象NavigationController上找到錯誤...我更新了從早期的輸出,如果這有幫助...這可能是我的故事板的問題... – drfear

+0

好的,我沒有注意到你正在使用故事板。你的故事板裏有什麼,你是怎麼得到它的? – rdelmar

+0

好吧,所以我有一個導航控制器,它會自動推送一個表視圖控制器和表視圖控制器是我想要顯示此數組。表視圖控制器附加到其他的東西,但我只是想弄清楚這個視圖第一大聲笑 – drfear

0

閱讀註釋,這是一個有點困難告訴你正在試圖解決,但這個錯誤是什麼問題...

'-[UITableViewController loadView] loaded the  
"fBI-R0-7j9-view-iYf-OA-4cJ" nib but didn't get a UITableView.' 

...是說,對象連接到view出口在表格視圖控制器不是UITableViewUITableView的子類。看看你的故事板中的那個控制器,並檢查鏈接到哪個view