编译器警告“从不同的Objective-c类型分配”

时间:2009-02-09 08:26:03

标签: objective-c xcode macos

我正在学习Objective-c,通过Aaron Hillegass的书“Mac OS X的可可编程 - 第三版”。我正在使用Xcode开发一些示例代码,并在此方法的最后一行继续收到编译器警告:

- (void) setEntryDate:(NSCalendarDate *) date {
    [date retain];
    [entryDate release];
    entryDate = date;
}

警告显示“警告:从不同的Objective-c类型分配”。是什么导致这个警告?如何防止它再次发生?

它似乎不会影响程序的执行,但我不明白问题是什么,或者即使确实存在问题(这可能只是一个偏执的编译器吗?)。

1 个答案:

答案 0 :(得分:2)

NSCalendar和NSCalendarDate确实是不同的类型。你应该决定你想要entryDate是哪一个(可能是NSCalendarDate,根据“日期”事情判断“)。