0

我遇到了一个神秘的错误(对我来说)。我有一些代码可以在 iPhone SDK 上挑选出用户的当前位置。它在 iPhone 模拟器上运行良好,但是当我尝试在实际设备上运行它时,我得到一个奇怪的错误。

这是代码(我正在使用 ASIFormDataRequest 创建一个 POST 请求):

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"testauthor" forKey:@"author"];
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.latitude] stringValue] forKey:@"latitude"];
NSLog(@"%f", datum.location.coordinate.latitude);
NSLog(@"%f", datum.location.coordinate.longitude);
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.longitude] stringValue] forKey:@"longitude"];
[request setPostValue:datum.comment forKey:@"comment"];

在模拟器上,NSLog 会同时记录纬度和经度,但在 iPhone 上却没有。

更奇怪的是,当我在设备上使用调试器时,我尝试“po datum.location”,我得到

<+###, -###> +/- 223.10m (speed 0.00 mps / course -1.00) @ 2010-05-02 22:18:37 -0400

(### 替换为我的位置)但是当我执行“(gdb)po datum.location.coordinate”时,我得到:

There is no member named coordinate.

你们知道为什么会发生这种情况吗?在此先感谢您的帮助!

4

1 回答 1

1

因为po打印一个对象,而 aCLLocationCoordinate2D不是一个对象,它是一个结构。

于 2010-05-03T03:06:19.117 回答