无论出于何种原因,我似乎无法弄清楚我无法让我的代码正确比较两个字符串的原因。我有一个对象数组(包含字符串的配置文件:组),如果它的组与字符串不匹配,我只想删除此配置文件对象。
这就是我所拥有的:
Profile 对象 .h 文件:
@property (nonatomic, copy) NSString *group;
一个控制器文件,它正在查看数组并转储不正确的配置文件 - 它的 .h 文件:
@property (nonatomic, copy) NSString *buttonSelected;
这个 *buttonSelected 在用户选择按钮时设置,代码只是检查发送者标签并分配适当的字符串,如下所示:
[controller setbuttonSelected:@"My Button Has Been Selected"];
当我尝试比较此 buttonSelected 和数组对象时出现问题 - 这是具有组属性的配置文件对象:
_profileArray = [xmlParser profiles];
for(int i=0; i<[_profileArray count]; i++){
NSLog(@"Comparing button: %@ and group: %@", [self buttonSelected], [[_profileArray objectAtIndex:i] group]);
if([[self buttonSelected] isEqualToString:[[_profileArray objectAtIndex:i] group]]) NSLog(@"Equal");
}
_profileArray 有 3 个对象,其中只有两个对象的组实际上等于 buttonSelected。所以我应该只让系统输出 2“Equal”,但它从不输出“Equal”。