如何比较objective-c中的字符串对象?

时间:2012-04-02 15:41:40

标签: objective-c ios

实际上我想填充一个数组来填充我的表视图,但问题是我必须比较两个字符串,如果它们匹配,我想在数组中添加该字符串。这是我的代码:

for (NSDictionary *item in facilityZoneData) {
    NSString *zoneFacilityID = [NSString stringWithFormat:@"%@",[item objectForKey:@"FacilityId"]]; 

    if ([detailFacility isEqualToString:zoneFacilityID ]) {
        NSLog(@"object added");
    }
}

detailFacility是NSString对象,它在头文件中声明。问题是它根本没有比较字符串。我知道肯定有一些相同的价值观。告诉我,如果我遗失了什么

2 个答案:

答案 0 :(得分:3)

你的问题不明确。要比较您使用的字符串

NSString isEqualToString: NSString
和你一样。在if语句NSLog之前,detailFacility和zoneFacilityID对象可以查看它们包含的内容。干杯

答案 1 :(得分:-2)

是的..几天前我遇到了同样的问题

我做了一个解决方案。这样做:

if ([detailFacility UTF8String] == [zoneFacilityID UTF8String] ){ ...}

由于某种原因,nsstring同情心比较地址和指针...尝试这个并告诉我它是否有效

我不知道为什么但这对我有用:/

如果它不起作用..只需使用c函数:

if(!strcmp([detailFacility UTF8String],[zoneFacilityID UTF8String])){
<are equal>
}else{
<aren't equal>
}