多个虚拟页面uiscrollview帮助,用数组填充

时间:2011-09-06 21:16:12

标签: iphone ios cocoa-touch ipad uiscrollview

我一直在查看此示例项目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 :(得分:0)

只在init方法中初始化所需的东西,因为它是第一个被调用的东西,比如dataPages mutableArray;然后当你的委托获得响应时,调用一个填充数组和scrollView的方法。此外,如果你要这样做,请记住UIKit对象不是线程安全的,所以如果你要声明一个填充数组和scrollView的方法,请调用主线程以防止你的应用程序崩溃。