1

UITableview にセルの配列を設定しようとしています。通常は viewDidLoad メソッドからこれを行いますが、今回は場所に基づいて配列を設定したいと考えています。以下は私のインターフェースの最初の行です:

@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メソッドに移動する必要がありました。

4

1 に答える 1