2011-08-01 8 views
5

कनवर्ट करना मैं सोच रहा था कि CLLocationCoordinate2D के अक्षांश और देशांतर मानों को संख्या या स्ट्रिंग मानों को कैसे परिवर्तित किया जाए। Iver कुछ भिन्न तरीकों से कोशिश की, लेकिन वे काम कर arene't:एक CLLocationCoordinate2D प्रकार को संख्या या स्ट्रिंग

CLLocationCoordinate2D centerCoord; 
centerCoord.latitude = self.locModel.userLocation.coordinate.latitude ; 
centerCoord.longitude = self.locModel.userLocation.coordinate.longitude; 
NSString *tmpLat = [[NSString alloc] initWithFormat:@"%g", centerCoord.latitude]; 
NSString *tmpLong = [[NSString alloc] initWithFormat:@"%g", centerCoord.longitude]; 

NSLog("User's latitude is: %@", tmpLat); 
NSLog("User's longitude is: %@", tmpLong); 

इस संकलक द्वारा एक चेतावनी देता है।

चेतावनी

warning: passing argument 1 of 'NSLog' from incompatible pointer type 

मैं यह करने के लिए कैसे करते है?

किसी भी मदद की सराहना की जाएगी।

धन्यवाद

उत्तर

7

आप का उल्लेख नहीं किया है क्या चेतावनी है, लेकिन यह सबसे अधिक संभावना है, क्योंकि आप NSLog तार के सामने @ भूल गया:

NSLog(@"User's latitude is: %f", self.locModel.userLocation.coordinate.latitude); 
NSLog(@"User's longitude is: %f", self.locModel.userLocation.coordinate.longitude); 

आपका अपडेट किया गया कोड होना चाहिए:

NSLog(@"User's latitude is: %@", tmpLat); 
NSLog(@"User's longitude is: %@", tmpLong); 

एनएसएलओजी एक एनएसएसटींग पैरामीटर की अपेक्षा करता है जिसके लिए @ साइन इन की आवश्यकता है। @ चिह्न के बिना, स्ट्रिंग एक सादा सी स्ट्रिंग है जो एनएसएसटींग ऑब्जेक्ट नहीं है।

+0

क्षमा करें अन्ना करेनीना, भ्रम के बारे में। मैंने अपने प्रश्न की जानकारी अपडेट की है और चेतावनी को जोड़ा है। कृपया धन्यवाद – banditKing

+1

समस्या वास्तव में है कि आपके पास NSLog तारों के सामने @ साइन इन नहीं है। – Anna

संबंधित मुद्दे