0

我有一个这样定义的类(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”)

我做了一个干净的,但没有用。为什么找不到呢?

4

2 回答 2

4
[sch.calendarTouched:currentSelectDate];

您在这里结合了点语法和括号语法。这应该是:

[sch calendarTouched:currentSelectDate];
于 2012-06-26T20:07:23.683 回答
3

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

[sch calendarTouched:currentSelectDate];
于 2012-06-26T20:07:52.670 回答