gpt4 book ai didi

ios - NSMutableString 的内存问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:20 26 4
gpt4 key购买 nike

我在使用谓词过滤数组时遇到问题。我的代码是这样的:

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

在调试 session 中,我发现我在执行代码的最后一行 (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"

关于ios - NSMutableString 的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com