我试图从NSArray开始创建UIScrollview。
问题是当我编写方法时一切都很好但是当我在NSArray中调用该方法时,我得到了这样的消息:no visible @interface for NSArray declares the selector 'createScrollView'
,就像xcode没有看到实现一样。
我也试过一种非常愚蠢的方法,比如
-(int)countData:(NSArray *)array {
return [array count];
}
但是当我打电话给[myArray countData];
时,我得到了那个数组。
我想我想念一些蠢事,你能帮帮我吗?谢谢
编辑:我目前的代码如下:
-(UIScrollView *)createModalView:(NSArray *)dataArray
{
UIScrollView *scrollView = [[UIScrollView alloc] init];
for (int i = 0; i < dataArray.count; i++)
{
CGRect frame;
frame.origin.x = scrollView.frame.size.width * i;
frame.size = scrollView.frame.size;
scrollView.pagingEnabled = YES;
CDOPageDescription *page = nil;
page = [dataArray objectAtIndex:i];
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(scrollView.frame.size.width * i, 0, 200, 40)];
UILabel *urlLabel = [[UILabel alloc] initWithFrame:CGRectMake(scrollView.frame.size.width * i, 40, 200, 40)];
UILabel *sectionLabel = [[UILabel alloc] initWithFrame:CGRectMake(scrollView.frame.size.width * i, 80, 200, 40)];
titleLabel.text = page.title;
urlLabel.text = page.url;
sectionLabel.text = page.sectionTitle;
[scrollView addSubview:titleLabel];
[scrollView addSubview:urlLabel];
[scrollView addSubview:sectionLabel];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * dataArray.count, scrollView.frame.size.height);
}
return scrollView;
}
答案 0 :(得分:0)
您不应该尝试子类化NSArray或NSMutableArray。那些是&#34;类集群&#34;,这使得对它们进行子类化非常困难。 (并使其超出你目前的技能水平。)另外,在这种情况下做错了。
其次,数组不应具有滚动视图属性。数组是数据容器类。它不应该绑定到视图对象。这是一个非常糟糕的设计。
您可以发布不同类的标题并解释它们应该如何相互关联吗?你还没有足够的背景让我们知道你在做什么。
你说:
...但是当我调用[myArray countData]时;我得到那个阵列。我想我 想念一些蠢事,你能帮助我吗?
您已在某个类(未指定)中定义了一个实例方法,该方法将数组作为参数,并返回一个计数。
调用[myArray countData]
没有意义。这会尝试将countData
消息发送到阵列。数组没有countData
方法,你的课程就是这样。它应该是
[self countData: myArray];
这意味着&#34;使用参数myArray&#34;将消息countData:
发送给自己。