UITableView لا ملء عند انتظار طريقة didUpdateToLocation CLLocationManagerDelegate الصورة على iPhone SDK
-
22-08-2019 - |
سؤال
وأنا أحاول أن تعبئة 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];
لا تنتمي إلى StackOverflow