2009-08-25 27 views
10

Xin chào các Chuyên gia xếp chồng!Tạo chuỗi từ CLLocationDegrees, ví dụ: trong NSLog hoặc StringWithFormat

Câu hỏi của tôi: Cách tạo chuỗi từ giá trị CLLocationDegrees?

nỗ lực không thành công:

1. NSLog(@"Value: %f", currentLocation.coordinate.latitude); //Tried with all NSLog specifiers. 
2. NSNumber *tmp = [[NSNumber alloc] initWithDouble:currentLocation.coordinate.latitude]; 
3. NSString *tmp = [[NSString alloc] initWithFormat:@"%@", currentLocation.coordinate.latitude]; 

Khi tôi nhìn vào định nghĩa cho CLLocationDegrees nó rõ ràng khẳng định rằng đây là một đôi:

typedef double CLLocationDegrees; 

tôi thiếu gì ở đây? Điều này khiến tôi phát điên ... Xin hãy giúp đỡ để cứu lấy tâm trí của tôi!

Cảm ơn bạn trước và lời chúc mừng tốt đẹp nhất. // Abeansits

Trả lời

33

Đây là đúng:

NSLog(@"Value: %f", currentLocation.coordinate.latitude); //Tried with all NSLog specifiers. 
NSNumber *tmp = [[NSNumber alloc] initWithDouble:currentLocation.coordinate.latitude]; 

này là sai, vì coordinate.latitude không phải là một đối tượng như NSString có thể mong đợi.

NSString *tmp = [[NSString alloc] initWithFormat:@"%@", currentLocation.coordinate.latitude]; 

Nếu bạn muốn một NSString:

myString = [[NSNumber numberWithDouble:currentLocation.coordinate.latitude] stringValue]; 

hoặc

NSString *tmp = [[NSString alloc] initWithFormat:@"%f", currentLocation.coordinate.latitude]; 

Marco

+0

Cảm ơn bạn Marco! Đúng đấy. Lỗi của tôi thực sự nằm trong phân bổ bộ nhớ bị lỗi. = ( Xin lỗi về điều đó. – ABeanSits

+3

@Marco bạn có thể dịch điều này trong mã nhanh chóng không –

2

Swift phiên bản:

La titude để String:

var latitudeText = "\(currentLocation.coordinate.latitude)" 

hoặc

let latitudeText = String(format: "%f", currentLocation.coordinate.latitude) 
Các vấn đề liên quan