簡體   English   中英

使用UITableView時,ios-tableView:numberOfRowsInSection…NSInvalidArgumentException

[英]ios - tableView:numberOfRowsInSection …NSInvalidArgumentException when working with UITableView

我有這個標題:

@interface MyBusinessesController : UIViewController

@property (weak, nonatomic) IBOutlet UITableView *businessList;

@property (weak, nonatomic) IBOutlet UILabel *loadingLabel;

@end 

我的.m文件中有這個:

#import "MyBusinessesController.h"

@interface MyBusinessesController ()

@end

@implementation MyBusinessesController

@synthesize businessList;
@synthesize loadingLabel;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

       NSLog(@"HIDING 1");
    // HIDE THE LIST UNTIL IT LOADS
    self.businessList.hidden=TRUE;
       NSLog(@"HIDING 2");    
}

- (void)viewDidUnload
{
    [self setLoadingLabel:nil];
    [self setBusinessList:nil];
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

當該控制器運行時,兩條NSLOG行都將執行,並且此后會發生異常。

這是例外:

-[MyBusinessesController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x6a8f330
2012-07-29 21:31:38.355 BusinessPlan[3973:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MyBusinessesController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x6a8f330'
*** First throw call stack:
(0x13d5022 0x1566cd6 0x13d6cbd 0x133bed0 0x133bcb2 0x1fd06b 0x1ff862 0xad66d 0xad167 0xb0134 0xb4623 0x5dd42 0x13d6e42 0x1d8d679 0x1d97579 0x1d1c4f7 0x1d1e3f6 0x1d1dad0 0x13a999e 0x1340640 0x130c4c6 0x130bd84 0x130bc9b 0x12be7d8 0x12be88a 0x1f626 0x1bfd 0x1b65)

誰能幫助我了解這里出了什么問題?

謝謝!

您可能已經在接口構建器中將MyBussinessViewController設置為數據源,但未在其中設置數據源方法。 您可以通過右鍵單擊界面構建器中的表視圖並查看數據源字段所連接的內容來進行檢查。

供參考,您需要:

tableView:numberOfRowsInSection:
numberOfSectionsInTableView:
tableView:cellForRowAtIndexPath:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html

快樂的編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM