Đối tượng được quản lý của tôi có 2 trường kép: "vĩ độ", "kinh độ". tôi cần phải lấy tất cả các đối tượng, có một số tọa độNSPredicate không hoạt động với các giá trị kép (% f)?
Mã này không làm việc, fetchedObjects count = 0
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"latitude == %f AND longitude == %f", coordinate.latitude, coordinate.longitude];
Nhưng mã này làm việc tốt, fetchedObjects count = 3:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"latitude == 53.012667 AND longitude == 36.113000"];
Chấp nhận câu trả lời của bạn là đúng, nếu nó giải quyết vấn đề của bạn – Vladimir
Như jdeprez nói bạn không nên so sánh giá trị float. So sánh các giá trị phao là thực hành nguy hiểm và không tốt. Thay vào đó, hãy sử dụng một vùng khá lớn làm vị từ, sau đó tính toán khoảng cách từ điểm gần nhất với điểm bạn đang tìm kiếm từ mảng đối tượng được trả về. – Christopher
Bạn đã lưu ngày của tôi ..... :-) –