I am trying to get my tableview to update via this async code
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)
{
NSString *mainURL = @"http://myurl.com/api/";
NSString *firstprefix = @"type=topdeals&device=";
NSString *deviceIDforURL = [NSString stringWithFormat:@"%@", Devicetoken];
NSString *stringToGoToEncoder = [NSString stringWithFormat: @"%@%@", firstprefix, deviceIDforURL];
NSData *plainData = [stringToGoToEncoder dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainData base64EncodedStringWithOptions:0];
NSString *returnURL = [NSString stringWithFormat:@"%@%@", mainURL, base64String];
NSURL *returncompletedURL = [[NSURL alloc] initWithString:returnURL];
//NSURL *request = [NSURL URLWithString:returncompletedURL];
NSData *data = [NSData dataWithContentsOfURL:returncompletedURL];
NSError *error;
NSMutableDictionary *responseObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error: &error];
NSLog(@"%@", responseObject);
allLogos = [[responseObject valueForKey:@"data"] valueForKey:@"logo"];
allcontent = [[responseObject valueForKey:@"data"] valueForKey:@"content"];
allpostode = [[responseObject valueForKey:@"data"] valueForKey:@"postcode"];
allname = [[responseObject valueForKey:@"data"] valueForKey:@"name"];
alladdress = [[responseObject valueForKey:@"data"] valueForKey:@"address"];
alladdress2 = [[responseObject valueForKey:@"data"] valueForKey:@"address2"];
alllat = [[responseObject valueForKey:@"data"] valueForKey:@"lat"];
alllong = [[responseObject valueForKey:@"data"] valueForKey:@"lng"];
allstart = [[responseObject valueForKey:@"data"] valueForKey:@"start"];
allfinish = [[responseObject valueForKey:@"data"] valueForKey:@"finish"];
allstartnice = [[responseObject valueForKey:@"data"] valueForKey:@"nicestart"];
allfinishnice = [[responseObject valueForKey:@"data"] valueForKey:@"nicefinish"];
dispatch_sync(dispatch_get_main_queue(), ^(void)
{
NSLog(@"%@", allcontent);
[self.tableview reloadData];
});
});
My table view is not updating via this command.
Here's my .h file
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UIPickerViewDelegate, CLLocationManagerDelegate>
{
CLLocationManager *locationManager;
}
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *spinner;
@property (weak, nonatomic) IBOutlet UITableView *tableview;
@property (weak, nonatomic) IBOutlet UILabel *LocationLabel;
@property (weak, nonatomic) IBOutlet UIButton *SettingsButton;
@property (weak, nonatomic) IBOutlet UISwitch *OutSwitch;
@property (weak, nonatomic) IBOutlet UILabel *LatestDealsLabel;
@property (weak, nonatomic) IBOutlet UILabel *Blackout;
my table view datasource is "allcontent" which is a global NSArray. I can see in the log that "allcontent" is updated with the correct content before updating the tableview.
Any help much appreciated.