我有一个处理用户位置的应用程序
我的代码是
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"DoctorTable" inManagedObjectContext:[myData managedObjectContext]];
[fetchRequest setEntity:entity];
passedLat = @"32.067288";
passedLng = @"33.325347";
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"( ( ((%f - lat) * (%f - lat)) + ((%f - lng) * (%f - lng)) ) < %f)"
" and kind == 0"
, passedLat.doubleValue, passedLat.doubleValue, passedLng.doubleValue, passedLng.doubleValue, [self calcDist:DoctorDistance], nil];
[fetchRequest setPredicate:predicate];
问题是谓词的第一部分是
@"( ( ((%f - lat) * (%f - lat)) + ((%f - lng) * (%f - lng)) ) < %f)"
无论 passlat 或 paessedlng 我也尝试将其替换为
@"(((2-2)*(3-3)) <> 0)"
这也评估为真
还要注意 [self calcDist:DoctorDistance] 返回 0.00005