多个虚拟页面 uiscrollview 帮助,填充数组
Posted
技术标签:
【中文标题】多个虚拟页面 uiscrollview 帮助,填充数组【英文标题】:multiple virtual pages uiscrollview help, populating with array 【发布时间】:2011-09-06 21:16:11 【问题描述】:我一直在寻找这个示例项目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】:只在你的 init 方法中初始化需要的东西,因为它是第一个被调用的东西,比如 dataPages mutableArray;然后当您的委托获得响应时,调用填充数组和滚动视图的方法。另外,如果你要这样做,请记住 UIKit 对象不是线程安全的,所以如果你要声明一个填充数组和 scrollView 的方法,请在主线程上调用以防止你的应用程序崩溃。
【讨论】:
感谢您的回答!我能够让它工作!在 RSS 提要完成解析后,我需要将子视图和数据分配给窗口。傻我!我之前都没想到! 我花了好几天才弄清楚这么简单的事情,非常感谢^_^以上是关于多个虚拟页面 uiscrollview 帮助,填充数组的主要内容,如果未能解决你的问题,请参考以下文章
在启用水平页面的 UIScrollview 中滑动多个 UITableView