2012-06-26 65 views
0

我定義爲這樣的(如圖schedule.h文件)類(附表)方法不可見

#import <UIKit/UIKit.h> 
#import "TdCalendarView.h" 
#import "AppDelegate.h" 

@interface Schedule : UIView { 
    IBOutlet UIView *schedule; 
} 

- (void) calendarTouched:(CFGregorianDate) selectedDate; 

@end 

Schedule.m看起來是這樣的:

- (void) calendarTouched: (CFGregorianDate) selectedDate { 

    NSLog(@"calendarTouched - currentSelectDate: %@/%@/%@", selectedDate.month, selectedDate.day, selectedDate.year); 
    return; 
} 

在另一類,我打電話calendarTouched這個方法調用:

Schedule *sch = [[Schedule alloc] init]; 
[sch.calendarTouched:currentSelectDate]; 

我得到一個在Schedule類型的對象上找不到「calendarTouched」錯誤。 (我在調用類中有#import「Schedule.h」)

我已經做了一個乾淨的,但無濟於事。爲什麼它找不到它?

回答

3

您不要在Objective-C中調用類似的方法。做到這一點,而不是:

[sch calendarTouched:currentSelectDate]; 
+0

我不敢相信!就在我面前,我知道得更多......非常感謝你...... – SpokaneDude

4
[sch.calendarTouched:currentSelectDate]; 

您在這裏結合了點語法和括號語法。這應該是:

[sch calendarTouched:currentSelectDate]; 
+0

感謝約什..我打上DrummerB回答正確的,因爲他是第一個... – SpokaneDude

+0

DrummerB的回答竟是29秒_after_礦,但我們得到的對號並不重要,我。 (無論如何,這是在「同一時間」的答案門檻內。) –