Ios NSMutableString内存问题
我在使用谓词筛选数组时遇到问题。我的代码是:Ios NSMutableString内存问题,ios,objective-c,memory,nspredicate,Ios,Objective C,Memory,Nspredicate,我在使用谓词筛选数组时遇到问题。我的代码是: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSError *error; NSFileManager *fm = [NSFileManager defaultManager]; NSString *filename=[NSString stringWithFormat:@"%@/%lld-%@.jp
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=[dirContents filteredArrayUsingPredicate: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];
有人看到什么错误吗
感谢和问候可能是错误的,因为NSPredicate会自动引用%@等格式变量 例如,这:
[NSPredicate
predicateWithFormat:@"SELF like[c] %@*%@", prefix, suffix];
将作为:SELF-LIKE[c]“prefix”*“suffix”
正确的方式:
[NSPredicate
predicateWithFormat:@"SELF like[c] %@",
[[prefix stringByAppendingString:@"*"] stringByAppendingString:suffix]];
这给了我们一个正确的结果:SELF-LIKE[c]“prefix*suffix”