述語を使用して配列をフィルタリングする際に問題があります。私のコードはこれです:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSError *error;
NSFileManager *fm = [NSFileManager defaultManager];
NSString *filename=[NSString stringWithFormat:@"%@/%lld-%@.jpg",[paths objectAtIndex:0],[TRIP surrogateKey], ms];
NSArray *dirContents = [fm contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:&error];
NSPredicate *fltr = [NSPredicate predicateWithFormat:@"SELF beginsWith %lld-%@",[TRIP surrogateKey], ms];
NSArray *registros=[dirContents filteredArrayUsingPredicate:fltr];
デバッグ セッションで、コードの最後の行 (NSArray *registros=[dirContentsfilteredArrayUsingPredicate:fltr]) の実行に問題があることがわかり、次のエラーが表示されます。
-[__NSCFString objCType]: unrecognized selector sent to instance 0x7e67200 2013-02-01 16:37:59.132 GastosApp[4462:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objCType]: unrecognized selector sent to instance 0x7e67200'
デバッグ セクションで、メモリ 0x7e67200 が宣言されている ms 変数によって占有されていることがわかりました。
NSMutableString *ms = [[NSMutableString new] autorelease];
誰かが間違いを見ますか?
感謝と敬意