Проблемы с форматированием кода - надеюсь, вы понимаете, что объясняет:
Я пытаюсь использовать этот обычно цитируемый процесс для
a) запуска сеанса для вызова URL, который будет вернуть XML;
b) проанализировать XML для значений;
c) создавать метки и рисовать линии окружностей на виде. Пробовал разные версии - в 1 ярлыки создаются, но либо в строках нет, либо я получаю ошибку 'invalid context nil
'.
Ниже приведен код в - (void)drawRect:(CGRect)rect
, и да, он снова компилируется, а не создает графику CGRect. Любые рекомендации? Видимо проблема с потоками / очередями:
dispatch_async(dispatch_get_main_queue()){
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor * greenColor = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0];
CGContextSetLineWidth (context, 24.0);
//Draw Line
startx = 20.0;
endx = 20.0 + (40.0 * (wins / 100.0));
starty = starty + 48.0;
endy = endy + 48.0;
CGContextSetStrokeColorWithColor (context, greenColor.CGColor);
CGContextMoveToPoint(context, startx, starty);
CGContextAddLineToPoint(context, endx, endy);
CGContextStrokePath (context);
// Labels created here - correctly
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
NSString *urlAsString = [NSString stringWithFormat:@"https://www.thewebsite.com/therequest.php?lst=%@&fst=%@", var1, var2];
NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString *encodedUrlAsString = [urlAsString stringByAddingPercentEncodingWithAllowedCharacters:set];
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSLog(@"Creating session to handle URL req...");
[[session dataTaskWithURL:[NSURL URLWithString:encodedUrlAsString]
completionHandler:^(NSData *myData, NSURLResponse *response, NSError *error) {
// Code to get data, parse XML - all work, data is sent and can be read....
}
});