Objective c 在运行时标识类的名称
因此,我的应用程序遇到了一个相当复杂的问题。 我有大约40个UIImageView对象,当不同的对象堆叠在一起时,它们需要显示在不同的位置(如果img2==否,则eximg1需要取代img2) 我试图做的是使用一个“for循环”并运行所有布尔值,检查图像是否被选中。 我很好奇这样调用变量是否可能Objective c 在运行时标识类的名称,objective-c,cocoa-touch,class,Objective C,Cocoa Touch,Class,因此,我的应用程序遇到了一个相当复杂的问题。 我有大约40个UIImageView对象,当不同的对象堆叠在一起时,它们需要显示在不同的位置(如果img2==否,则eximg1需要取代img2) 我试图做的是使用一个“for循环”并运行所有布尔值,检查图像是否被选中。 我很好奇这样调用变量是否可能 -(IBAction) button:(id) sender{ scrollView.hidden = YES; NSInteger i = 1; (@"imagenumber%
-(IBAction) button:(id) sender{
scrollView.hidden = YES;
NSInteger i = 1;
(@"imagenumber%d", i) = [[UIImageView alloc] initWithFrame: CGRectMake (28, 230, 86, 26)];
[[imagenumber(@"%d", i)] setImage:[UIImage imageNamed:@"csa.jpg"]];
[self.view addSubview: [imagenumber(@"%d", i)]];}
}
其中@“imagenumber%d”是我的NSImageView,而i是一个介于1-40之间的数字
如果这让人困惑,我很抱歉,我真的非常感谢在这个问题上的任何帮助,因为我似乎没有任何想法,并且已经研究这个问题好几个星期了。将视图放入
NSMutableArray
-您可以通过索引访问这些视图中的元素,使用快速枚举。。。例如:
UIImageView *image = [[UIImageView alloc] ...
[myMutableArray addObject:image];
// ...
为了好玩,你也可以把它们放在一个内部数组中,并使用指针算法。(这可能是幕后发生的事情,对于感兴趣的人来说,枚举速度更快)
哈,从没想过这么做,我想那会有用的,谢谢!
UIImageView * imageArray[40];
...
for(UIImageView * this = imageArray; this; this++)
{
this = [[UIImageView alloc] initWithFrame: CGRectMake (28, 230, 86, 26)];
...
}