справка по нескольким виртуальным страницам, заполненная массивом - PullRequest
0 голосов
/ 07 сентября 2011

Я искал этот пример проекта http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html и хотел заполнить эти просмотры страниц данными, взятыми из RSS-канала.У меня все данные проанализированы, помещены в массив в делегате и готовы к экспорту на страницы с соответствующими индексами.Я изменил dataPages на NSMutableArray и пытаюсь заполнить массив dataPages следующим образом (DataSource.m):

-(id) init {
self = [super init];
if (self != nil)
{
    dataPages = [[NSMutableArray alloc] init];
    PagesAppDelegate *delegate = [[UIApplication sharedApplication] delegate]; 
    for (int i = 0; i < [delegate.pageTitle count]; i++) {

        [dataPages addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                              [NSString stringWithFormat:@"%@", [delegate.pageTitle objectAtIndex:i]], @"pageTitle",
                              [NSString stringWithFormat:@"%@",[delegate.pageText objectAtIndex:i]], @"pageText",
                              nil]];
    }
    return self;
}
-(NSInteger)dataPageNumber {
return [dataPages count];
}

-(NSDictionary *)dataForPage:(NSInteger)pageIndex {
return [dataPages objectAtIndex:pageIndex];
}

Однако, используя класс DataSource, данные загружаются на страницы перед анализатором вДелегат может своевременно заполнять массивы.Есть ли способ загрузить класс после завершения синтаксического анализатора делегата?мое приложение имеет функцию триггера делегата, когда rssParser завершил свой процесс.Я использую xCode 4, если это поможет

1 Ответ

0 голосов
/ 07 сентября 2011

Инициализируйте только необходимые вещи в вашем методе init, так как вызывается первым, например, dataPages mutableArray;затем, когда ваш делегат получит ответ, вызовите метод, который заполнит массив и scrollView.Кроме того, если вы собираетесь это сделать, помните, что объекты UIKit не являются потокобезопасными, поэтому, если вы собираетесь объявить метод, который заполняет массив и scrollView, вызовите основной поток, чтобы предотвратить сбой вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...