1

2つの日付の間にある日付の配列をフェッチしています。このコードを実行するとエラーが発生します。どこが間違っているのかわかりません:(

私のコードは

  NSArray *Dates = [NSArray arrayWithObjects:@"02-02-2012", @"04-02-2012", @"04-02-2012",      @"03-02-2012",@"04-02-2010", @"04-02-2012", @"04-02-2011", @"09-02-2012", @"12-02-2012 ",      @"11-02-2012", nil];
  NSString *startStringDate= @"03-02-2012";
  NSString *endStringDate = @"09-02-2012";

  //converting NSString to NSDate
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:@"dd-MM-yyyy"];
  NSDate *StartDate = [dateFormatter dateFromString:startStringDate];
  NSDate *endDate = [dateFormatter dateFromString:endStringDate];

 // output of StartDate is 03-02-2012 08:37:48 +0000
 // output of endDate is 09-02-2012 08:37:48 +0000

 //using filteredArrayUsingPredicate to fetch date which comes between StartDate and  endDate

  NSPredicate *findS = [NSPredicate predicateWithFormat:@"(SELF > %@) AND (SELF < %@)", StartDate, endDate];
  NSArray *result = [Dates filteredArrayUsingPredicate:findS];

このコードを実行すると、次のようなエラーが発生しました:[__NSDate length]:認識されないセレクターがインスタンス0x982d5a0'に送信されました

誰かがこの感謝を前もって解決するのを手伝ってくれますか

4

1 に答える 1

3
NSArray *Dates = [NSArray arrayWithObjects:[dateFormatter dateFromString:@"02-02-2012"],[dateFormatter dateFromString:@"04-02-2012"],nil];

うまくいくかもしれない試してみるよりも、日付のためにこのような配列を作成してください...

于 2012-04-19T09:54:21.137 に答える