我正在学习Objective-c,通过Aaron Hillegass的书“Mac OS X的可可编程 - 第三版”。我正在使用Xcode开发一些示例代码,并在此方法的最后一行继续收到编译器警告:
- (void) setEntryDate:(NSCalendarDate *) date {
[date retain];
[entryDate release];
entryDate = date;
}
警告显示“警告:从不同的Objective-c类型分配”。是什么导致这个警告?如何防止它再次发生?
它似乎不会影响程序的执行,但我不明白问题是什么,或者即使确实存在问题(这可能只是一个偏执的编译器吗?)。
答案 0 :(得分:2)
NSCalendar和NSCalendarDate确实是不同的类型。你应该决定你想要entryDate是哪一个(可能是NSCalendarDate,根据“日期”事情判断“)。