gpt4 book ai didi

objective-c - 比较时的奇怪行为

转载 作者:行者123 更新时间:2023-11-28 19:21:07 26 4
gpt4 key购买 nike

我有一个函数,用于通过检查特定属性是否等于大型数据数组中许多对象的特定值来构造数组。数据数组已完全初始化,但我无法从中检索任何对象。当我检查代码时,XCode 告诉我下面的“thing”变量超出范围。

这是我的函数导致的错误还是数据数组的问题? (我独立检查了数据数组,它有正确的计数和正确的成员)。

- (NSMutableArray *)parseForProperty:(NSString*)property EqualTo:(NSString*)value

{
NSMutableArray *result = [[NSMutableArray alloc] init];

SEL selector = NSSelectorFromString(property);

NSLog(@"parseProp");

for (RCDetailItem *thing in [[self defaultStore] parsedData])
{
NSLog(@"Thing Title: %@", thing.title);
if ([thing performSelector:selector] == value)
{
[result addObject:thing];
}
}
return result;
}

最佳答案

目前,您不比较字符串,而是引用。你可以试试:

NSString * thingProperty = [thing performSelector:selector];
if ([thingProperty isEqualToString:value])
..

但我相信它会解决,因为您提到“下面的变量超出范围”。是编译错误吗?

关于objective-c - 比较时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769058/

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