2012-11-01 165 views
-2

誰能告訴我,爲什麼功能不調用這裏從另一個類調用方法

類MasterViewController.h

@interface MasterViewController : UITableViewController 
- (void) populateTableView; 

類ModelViewController.h

#import "MasterViewController.h" 
@interface ModelViewController : UIViewController 
@property (strong, nonatomic) MasterViewController *MasterViewController; 

類ModelViewController.m

@synthesize MasterViewController; 
[MasterViewController.self populateTableView]; // Function Calling 
+4

的屬性?在課堂上? oO **你現在回去閱讀Objective-C語言教程。** – 2012-11-01 07:29:23

+3

哈哈,感謝上午的樂趣)) – Stas

+0

我假設這個[link](http://stackoverflow.com/questions/3572448/objective-c -call-function-on-another-class)會告訴你方式 – AppleDelegate

回答

2
@property (strong, nonatomic) MasterViewController *MasterViewController; 

在這裏您聲明瞭一個名稱爲MasterViewController的實例變量(屬性),該名稱與其類名相同。當您發送populateTableView消息到MasterViewController時,實際上,編譯將其視爲類方法+ (void)populateTableView;)而不是實例方法- (void)populateTableView;)。

因此,您最好將此iVar聲明爲masterViewController而不是(m是小寫字母)。

@property (strong, nonatomic) MasterViewController *masterViewController; 

然後ALLOC &用它在你的方法:

... 
[self.masterViewController populateTableView]; 
相關問題