定义的类中的方法不可见

时间:2012-06-26 20:06:15

标签: objective-c

我有一个类(Schedule)定义为(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”)

我干净利落,但无济于事。为什么不能找到它?

2 个答案:

答案 0 :(得分:4)

[sch.calendarTouched:currentSelectDate];

您可以在此处结合点语法和括号语法。这应该是:

[sch calendarTouched:currentSelectDate];

答案 1 :(得分:3)

你不会在Objective-C中调用类似的方法。这样做:

[sch calendarTouched:currentSelectDate];