我有一个带有多个视图的 xib 文件。他们IBOutlet
的 s 被命名为view1
, view2
, view3
, 等等,我想循环访问它们。在Objective-C中可以做到这一点吗?
我知道在 ActionScript 中,您可以像这样生成对象的名称: ["view"+num]
.
我有一个带有多个视图的 xib 文件。他们IBOutlet
的 s 被命名为view1
, view2
, view3
, 等等,我想循环访问它们。在Objective-C中可以做到这一点吗?
我知道在 ActionScript 中,您可以像这样生成对象的名称: ["view"+num]
.
将它们放在 IBOutletCollection 中。这是一个数组,您可以在界面生成器中填充它并遍历它。
与其命名它们,不如为它们分配标签 (0...10),然后您可以使用 .将它们从父视图中拉出viewWithTag:
。
使用键值编码。如果假设我有 view1 .. view 10,那么我会这样使用它;
for(int i=0 i< 10; i++){
UIView *eachView = [self valueForKey:[NSString stringWithFormat:@"view%d", i]];
}
我希望这个对你有用。
实现此目的的另一种方法是使用NSDictionaryOfVariableBindings
.
NSArray *views = [NSDictionaryOfVariableBindings(view1, view2, view3) allObjects];
for (UIView *item in views)
do something with item;