2011-12-17 9 views
0

私はjsonデータを読み込むビューを1つ持っています。そこからキーを抽出します。initwithnibname変数を次のビューに渡します

hotellat = [rows4 valueForKey:@"H_LAT"]; 
hotellon = [rows4 valueForKey:@"H_LON"]; 

そしてIは以下のようにのviewDidLoad後のプッシュを実行する:

- (IBAction)buttonClicked:(id)sender 
{ 
    NSLog(@"hotellat: %@",hotellat); 
    MapTutorialViewController *controller = [[MapTutorialViewController alloc] initWithNibName:@"MapTutorialViewController" bundle:[NSBundle mainBundle]]; 
    controller.LAT = hotellat; 
    controller.LON = hotellon; 
    [self.navigationController pushViewController:controller animated:YES]; 
    [controller release]; 
} 

このセクションでのNSLogがhotellatであることを示している私は、次のない(ボイド)のviewDidLoad { - で

nullですが、viewDidloadにnslogを書き込むと値があります。この変数を次のビューに渡すには、私は何をする必要がありますか?これは文字列でもあり、マップビューの緯度に割り当てることができるように整数に変換する必要があると思いますか?

また、@ hotellat、hotellonを合成します。コントローラーと.hファイルに次き:

@property (nonatomic, retain) NSString *hotellat; 
@property (nonatomic, retain) NSString *hotellon; 

答えて

0

あなたが保持変数を使用しますが、メッセージを保持しているが、この割り当てによって数値に送信されていない:

hotellat = [rows4 valueForKey:@"H_LAT"]; 
hotellon = [rows4 valueForKey:@"H_LON"]; 

使用:

self.hotellat = [rows4 valueForKey:@"H_LAT"]; 
self.hotellon = [rows4 valueForKey:@"H_LON"]; 

このようにして、保持メッセージが値に渡され、明示的に解放するまでそこに留まることが保証されます。

後であなたが値を解放することができます上: は後に言うことができます:、あなたが最初に浮かぶようにNSStringのを変換する必要があるのMapViewでそれらを使用するための[controller release];

[hotellat release]; 
[hotellon release]; 
+0

、CGFloat緯度= [hotellatに従ってFloatValue]。 – samfisher

+0

ありがとうSamfisher。 ;) –

+0

私は助けてくれるとうれしいです... – samfisher

関連する問題