2011-08-01 14 views
5

Tôi đã tự hỏi làm thế nào để chuyển đổi giá trị vĩ độ và kinh độ của CLLocationCoordinate2D thành số hoặc chuỗi giá trị. Iver đã thử một số cách khác nhau nhưng chúng không hoạt động:chuyển đổi loại CLLocationCoordinate2D thành số hoặc chuỗi

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); 

Điều này trả về cảnh báo của trình biên dịch.

Cảnh báo là

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

Làm thế nào để làm điều này?

Mọi trợ giúp sẽ được đánh giá cao.

nhờ

Trả lời

7

Bạn đã không đề cập đến những gì các cảnh báo là nhưng nó rất có thể là vì bạn quên @ ở phía trước của chuỗi NSLog:

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

đang cập nhật của bạn nên là:

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

NSLog dự kiến ​​tham số NSString cần ký hiệu @ ở phía trước. Không có dấu @, chuỗi là một chuỗi C đơn giản không phải là đối tượng NSString.

+0

Xin lỗi Anna Karenina, về sự nhầm lẫn. Tôi đã cập nhật thông tin câu hỏi của mình và thêm cảnh báo. Vui lòng xem ở trên cảm ơn – banditKing

+1

Vấn đề thực sự là bạn không có ký hiệu @ ở phía trước các chuỗi NSLog. – Anna

Các vấn đề liên quan