У меня проблемы при сравнении двух строковых объектов в target-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
Как вы можете видеть, что обе строки точно совпадают, но условие if не выполняется, Скажите, что мне в нем не хватает.