我有一個NSDictionary對象的數組。 這些字典是從JSON文件中解析出來的。 NSDictionary中的所有值對象均爲NSString類型,一個鍵稱爲「distanceInMeters」。在應用NSPredicate時投射NSDictionary值?
我曾計劃在過濾使用NSPredicate這些陣列,所以我開始是這樣的:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(distanceInMeters <= %f)", newValue];
NSArray *newArray = [oldArray filteredArrayUsingPredicate:predicate];
我相信,如果爲「distanceInMeters」鍵的值是一個NSNumber這會工作,但由於我從JSON文件中獲得了一切,都是NSStrings。 上面給出了這個錯誤:****** - [NSCFNumber length]:無法識別的選擇器發送到實例0x3936f00 ***
這是有道理的,因爲我剛剛嘗試將NSString作爲NSNumber對待。
有沒有一種方法可以在字典過濾時將字典中的值進行轉換,或者採用完全不同的方式來解決此問題?
希望有人能幫助我:)
嗨荷馬 謝謝你做了這個把戲:)我不知道你可以像這樣鍵入,NSP預測NSManagedObjects對我來說是新的東西:) 再次感謝 – RickiG 2010-05-11 20:15:52
僅供參考,它不是類型轉換;它只是在NSString上調用「floatValue」方法。 – 2010-05-11 21:15:54
唉感謝我得到它,它當然直接訪問屬性而不是訪問器[NSString floatValue] :) – RickiG 2010-05-12 11:15:04