gpt4 book ai didi

objective-c - 如何在 Objective-C 中比较字符串?

转载 作者:行者123 更新时间:2023-11-29 04:43:40 33 4
gpt4 key购买 nike

我在比较 Objective-C 中的两个字符串对象时遇到问题。这是我的情况:

我的 View Controller 中有两个 NSString 对象,如下我的 .h 文件中的代码所示:

@property(nonatomic,retain) NSString *detailFacility;

在我的 .m 文件中的 viewDidLoad 函数中:

- (void)viewDidLoad
{

NSData *facilityZoneURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"some URL..."]]];
NSError *error;
NSDictionary *facilityZoneDict = [NSJSONSerialization JSONObjectWithData:facilityZoneURL options:kNilOptions error:&error];

NSArray *facilityZoneData = [facilityZoneDict objectForKey:@"Data"];

if (![facilityZoneData isKindOfClass:[NSArray class]]) {
//JSON does not returned the Dictionary;
}

facilityZoneArray = [[NSMutableArray alloc] init];
NSLog(@"%@",detailFacility);
for (NSDictionary *item in facilityZoneData) {
NSString *zoneFacilityID = [NSString stringWithFormat:@"%@",[item objectForKey:@"FacilityId"]];

NSLog(@"Facility ID: %@ --- Zone ID: %@",detailFacility,zoneFacilityID);

NSLog(@"%@",[zoneFacilityID isEqualToString:detailFacility]? @"YES" : @"NO");
if ([zoneFacilityID isEqualToString:detailFacility]) {
NSLog(@"object added");
}
}

但问题是它不是比较字符串,因为它肯定与某个位置匹配。

这是我的 NSLOG 情况:

2012-04-02 12:12:42.998 CarbonIndex[11078:207] Facility ID: 1056 --- Zone ID: 1056
2012-04-02 12:12:42.999 CarbonIndex[11078:207] NO

正如您所看到的,两个字符串都准确匹配,但 if 条件未执行,请告诉我其中缺少什么。

最佳答案

这可能是编码问题。尝试使用这样的东西,看看是否有帮助:

NSLog(@"%@",[zoneFacilityID compare:detailFacility]==NSOrderedSame? @"YES" : @"NO");

比较对于不同的编码规范化效果更好。详细信息请参见:http://weblog.bignerdranch.com/?p=334

关于objective-c - 如何在 Objective-C 中比较字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9980106/

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