मुझे लगता है कि इन दोनों ऑब्जेक्ट्स के नाम पर आधारित CLLocation
प्रकार के हैं।
CLLocation
क्या अपने isEqual:
विधि करता है पर किसी भी विनिर्देश नहीं है, इसलिए संभव है बस NSObject
के कार्यान्वयन, जो केवल वस्तुओं के संकेत दिए गए तुलना इनहेरिट है। यदि आपके पास समान डेटा के साथ दो विशिष्ट वस्तुएं हैं, तो isEqual:
कार्यान्वयन NO
वापस आ जाएगा। और यदि आपके पास स्थान में थोड़ी भिन्नता के साथ दो अलग-अलग वस्तुएं हैं, तो वे निश्चित रूप से बराबर नहीं होंगे।
स्थान वस्तुओं की तुलना करते समय आप शायद isEqual:
नहीं चाहते हैं। इसके बजाय, आप शायद CLLocation
पर distanceFromLocation:
विधि का उपयोग करना चाहते हैं। ऐसा कुछ बेहतर होगा:
CLLocationDistance distanceThreshold = 2.0; // in meters
if ([currentAnchor distanceFromLocation:currentBusiness.getCllLocation] < distanceThreshold)
{
do a;
}
else
{
do b;
}
स्रोत
2011-06-30 04:41:31
यह सच नहीं है, isEqual सिर्फ इतना है कि ऐसा करने के लिए माना जाता है, जाँच सामग्री के लिए निर्धारित करें कि दो वस्तुएं बराबर हैं या नहीं। यदि दो गुण समान नहीं हैं तो दो वस्तुएं समान नहीं हैं। –