gpt4 book ai didi

cocoa - 比较日期,警告从独特的 Objective-C 类型传递参数之一 'compare:'

转载 作者:行者123 更新时间:2023-12-03 17:27:15 25 4
gpt4 key购买 nike

我已经浏览过这里和其他地方的类似查询,但我似乎仍然无法解决我的问题。

我试图查看数组中可变字典中存储的日期是否位于其他两个日期之间。生成警告的代码片段是:

if ( [[[records objectAtIndex:( i )] objectForKey:@"Date"] compare:userStartDate] == NSOrderedDescending && [[[records objectAtIndex:( i )] objectForKey:@"Date"] compare:userEndDate] == NSOrderedAscending ) {  

由于可能相关,userStartDate 创建如下:

- (id)initWithArray:(NSMutableArray *)newRecords andWithUserStartDate:(NSDate *)newUserStartDate andWithUserEndDate:(NSDate *)newUserEndDate {
if (self = [super init]) {
[self setRecords:newRecords];
[self setUserStartDate:newUserStartDate];
[self setUserEndDate:newUserEndDate];
}
return self;

}

从代码的另一部分调用:

summariser = [[Summariser alloc]initWithArray:records andWithUserStartDate:[userTimesStartDatePicker dateValue] andWithUserEndDate:[userTimesEndDatePicker dateValue]];  

记录本身为:

[record setObject:[datePicker dateValue] forKey:@"Date"];  

我希望这是清楚的,并且有人可以提供帮助。

谢谢

最佳答案

我认为这里的问题是 objectForKey: 返回 id,因此编译器无法确定它是 NSDate 的实例,并且触发警告。

关于cocoa - 比较日期,警告从独特的 Objective-C 类型传递参数之一 'compare:',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com