UITableviewにセルの配列を設定しようとしています。私は通常これをviewDidLoadメソッドから行いますが、今回は位置に基づいて配列を設定したいと思います。以下は私のインターフェイスの最初の行です:iPhone SDKのCLLocationManagerDelegateのdidUpdateToLocationメソッドを待っているときにUITableViewが設定されない
@interface RootViewController : UITableViewController
<UITableViewDelegate, UITableViewDataSource, CLLocationManagerDelegate> {
実装ファイルでviewDidLoadメソッドは次のようになります。
- (void)viewDidLoad {
// for location
self.locationManager = [[CLLocationManager alloc] init];
[locationManager startUpdatingLocation];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[super viewDidLoad];
}
私はdidUpdateToLocation方法における細胞の配列を移入:
self.title = @"Open Buildings";
NSMutableArray *buildingArray = [[NSMutableArray alloc] initWithObjects:building1,
self.controllers = array;
場所が見つかったが配列が設定されていない場合、ビューのタイトルが更新されます。前にviewdidupdateに上記のコードがあったとき、配列が作成されました。 viewDidLoadメソッドでビューが読み込まれたときにアプリケーションが位置情報を持たないため、私はdidupdatelocationメソッドに移動しなければなりませんでした。
実装クラスがtableviewで、nibファイルではない場合は、どのようにテーブルビューをリロードしますか? – Atma
ivarまたはoutletのいずれかへの参照を設定する必要があります。 @interfaceのRootViewController:のUITableViewController { –
August
。何か間違っているのですか? – Atma