0

我是新手iOS,我想实现一个启动屏幕并从数据库加载数据然后传输到另一个视图控制器以显示数据UITableView 这是我的代码

#import "SplashViewController.h"
#import "DataLoader.h"
#import "UISessionTable.h"
@interface SplashViewController ()  

@end
@implementation SplashViewController

@synthesize sessionsDataFromDatabase;





-(void) viewDidLoad{
    [super viewDidLoad];

   double  currentTime = [[NSDate date] timeIntervalSince1970];

    dispatch_queue_t downloadQueue = dispatch_queue_create("session data loader", NULL);
    dispatch_async(downloadQueue, ^{
        //code to load session into array

        self.sessionsDataFromDatabase = [DataLoader getSessions]; 
        dispatch_async(dispatch_get_main_queue(), ^{




            double differance = 5000.0 - ([[NSDate date] timeIntervalSince1970] - currentTime) ;


            differance = differance<0? 0:differance;

            [[NSTimer scheduledTimerWithTimeInterval: differance target:self
                                                              selector: @selector(pushToSessionTableViewController:) userInfo: nil repeats: NO]fire];

                    });
    });
    dispatch_release(downloadQueue);


}
-(void) viewDidUnload{
    [super viewDidUnload];
    self.sessionsDataFromDatabase = nil;
}
-(void) pushToSessionTableViewController{


    UISessionTable * obj = [[UISessionTable alloc]init ];

    [obj setSessionsData:self.sessionsDataFromDatabase];


    [self.navigationController pushViewController:obj animated:YES];



}
@end

运行时出现以下错误

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'-[SplashViewController pushToSessionTableViewController:]: unrecognized selector sent 
to instance 0x6e45740'

有什么建议吗???

4

1 回答 1

2

最后的冒号用于接收参数的方法,您的不接收任何内容。这就是它找不到该方法的原因(它假定它是另一个未声明的方法)。

代替

pushToSessionTableViewController:

pushToSessionTableViewController
于 2012-08-15T23:30:25.140 回答