MacRuby - 无法访问CLLocation属性

时间:2010-04-30 23:00:14

标签: ruby macruby

这适用于Objective-C,但在MacRuby中,我找不到一种方法来访问返回的Boxed对象的属性。

MacRuby Version 0.7 - >最新版本截至2010-05-02 OS - > 10.6.3

Objective-C版本:

CLLocation *loc = [[CLLocation alloc] initWithLatitude:38.0 longitude:-122.0];
NSLog(@"Lat: %.2f", loc.coordinate.latitude);
NSLog(@"Long: %.2f", loc.coordinate.longitude);
[loc release];
// Results:
// 2010-04-30 16:48:55.568 OCCoreLocationTest[70030:a0f] Lat: 38.00
// 2010-04-30 16:48:55.570 OCCoreLocationTest[70030:a0f] Long: -122.00

以下是带结果的MacRuby版本:

framework 'corelocation'

loc = CLLocation.alloc.initWithLatitude(38.0, longitude:-122.0)
# => #<CLLocation:0x20004c4e0>

puts loc.class
# => CLLocation
puts loc.description
# => <+38.00000000, -122.00000000> +/- 0.00m (speed -1.00 mps / course -1.00) @ 2010-04-30 16:37:47 -0600
puts loc.horizontalAccuracy
# => 0.0
puts loc.verticalAccuracy
# => -1.0
puts loc.timestamp
# => #<__NSCFDate:0x20005ff40>
puts loc.coordinate
# => #<Boxed:0x2000af7a0>
puts loc.altitude
# => 0.0
puts loc.coordinate.longitude
# => Error:in `<main>': undefined method `longitude' for #<Boxed:0x2000b7660> (NoMethodError)

1 个答案:

答案 0 :(得分:0)

我发现这已经有了票。 http://www.macruby.org/trac/ticket/641