У меня возникли проблемы при сравнении двух строковых объектов в объективе-c. Вот моя ситуация:Как сравнить строки в объективе-c?
У меня есть два объекта 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
Как вы можете видеть, что и строка точно совпадают, но если условие не выполняется, Скажи мне, что мне не хватает в нем.
Это detailFacility NSString? Я не вижу его заявления. Неважно. Я только что видел его. – DRVic
Это может быть проблема с кодировкой. Вы получаете идентификатор объекта из объекта JSON, может ли кодировка этой строки отличаться от строки, определенной вашим приложением, даже если они регистрируют то же самое? – rdelmar
repost of [Как сравнить строковые объекты в объективе-c?] (Http://stackoverflow.com/questions/9979399/how-to-compare-string-objects-in-objective-c) –