UITableView لا ملء عند انتظار طريقة didUpdateToLocation CLLocationManagerDelegate الصورة على iPhone SDK

StackOverflow https://stackoverflow.com/questions/707766

سؤال

وأنا أحاول أن تعبئة 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. اضطررت لنقله إلى طريقة didupdatelocation لأن التطبيق لا تملك معلومات الموقع عند تحميل عرض في طريقة viewDidLoad.

هل كانت مفيدة؟

المحلول

وعرض جدول الخاص بك لا يعرفون لديك بيانات جديدة. لذلك، وبمجرد الانتهاء من البيانات الجديدة، تحتاج إلى معرفة طريقة عرض جدول لتحميل:

[myTableView reloadData];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top