Задать вопрос

Не обновляется UI на девайсе, в симуляторе все работает. В чем может быть дело?

В методе ViewDidLoad если напрямую инициализировать на UI - все прекрасно, т.е. выводит при запуске и на девайсе и на симуляторе. Но, естественно, в разработанном приложении есть сетевая часть. Использовал лог - данные скачиваются, я их сохраняю в UserDefaults, потом тяну оттуда, фильтрую - и вывожу на UI. Что-то непонятное с запросами, в логе выводит то, что у многих - https://discussions.apple.com/message/26151528. Может кто-нибудь столкнулся и решил вопрос? Девайс - iPhone 4s, iOS 7.1.x.

часть лога:
Jun 26 01:06:32 iPhone-maxonflic kernel[0] : launchd[1374] Container: /private/var/mobile/Applications/77C28615-FB53-42E2-8923-40568E1D6E9D (sandbox)
Jun 26 01:06:32 iPhone-maxonflic SpringBoard[34] : LICreateIconForImage passed NULL CGImageRef image
Jun 26 01:06:32 iPhone-maxonflic backboardd[28] : HID: The 'Passive' connection 'Timetable BSUIR' access to protected services is denied.
  • Вопрос задан
  • 2447 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@maxonflic Автор вопроса
DetailViewController.m
-(IBAction)buttonAction:(id)sender {
    
    
    NSString *group=self.textFieldbegin.text;
    NSMutableString *harry=[NSMutableString stringWithString:@"http://www.bsuir.by/psched/rest/"];
    [harry appendString:group];
    NSString *string = harry;
    
    NSURL *url = [NSURL URLWithString:string];
    
    
    
    
  
    
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        
        
        
        MyParser *parser = [[MyParser alloc] initWithURL:url
                            ];
        
        
        [[NSUserDefaults standardUserDefaults] setObject:parser.items forKey:@"DKey"];
        
        
        
        
        
     });
    
    
    
    [[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification"
                                                        object:self];
    
    
    
    

    
    
    
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
    
    
   
    
    
        // записываем все сделанные изменения в хранилище
        [[NSUserDefaults standardUserDefaults] synchronize];
        
    
        
    
    
}


ParserDelegate.m 

@implementation MyParser

- (id)initWithURL:(NSURL*)url
{
    if (self = [super init]) {
        NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
        parser.delegate = self;
        _items = [NSMutableArray new];
        [parser parse];
    }
    return self;
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
    if ([elementName isEqualToString:@"ROW"]) {
        if (attributeDict) {
            [_items addObject:attributeDict];
        }
    }
}







@end

ViewController.m - основной

в методе ViewDidLoad - [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector (maxkitten)
                                                 name:@"MyNotification"
                                               object:nil];

maxkitten - функция сортировки данных из userdefault, с вложенным в нее блоком ( единственное, что, как вариант, может портить картину - очень-очень много кода в блоке ( около 7 тысяч строк), н она симуляторе все отлично справляется)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@yakubov
Скиньте код как скачиваете и сохраняете
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы