1

ここや他の場所で同様のクエリを調べましたが、まだ問題を解決できないようです。

配列内の変更可能な辞書に格納されている日付が他の 2 つの日付の間にあるかどうかを確認しようとしています。警告を生成するコードは次のとおりです。

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"];  

これが明確で、誰かが助けてくれることを願っています。

ありがとう

4

1 に答える 1

0

objectForKey:ここでの問題は を返すことだと思うidので、コンパイラはそれがのインスタンスであると確信できずNSDate、警告をトリガーします。

于 2009-07-16T11:51:44.830 に答える