2010-04-30 6 views
1

Cela fonctionne dans Objective-C mais dans MacRuby je ne trouve pas un moyen d'accéder aux propriétés de l'objet Boxed qui est retourné.MacRuby - Propriétés de CLLocation non accessibles

MacRuby Version 0.7 -> dernière version en date du 2010-05-02 OS -> 10.6.3

Version 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 

Voici la version MacRuby avec des résultats:

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) 

Répondre

Questions connexes