当我获得子视图索引时出现问题

Vol*_*da2 1 iphone xib uiview

当我获得子视图索引时出现问题.

int index = [[YourUIView subviews] indexOfObject:YourUIButton];
Run Code Online (Sandbox Code Playgroud)

一些UITextField是使用xib文件创建的.当我打印它的值时,我得到虚幻的索引.@property(nonatomic,retain)IBOutlet UITextField*distanceTextField; 例如:index等于2147483647

但是当我以编程方式添加对象时,我得到真正的索引.index等于12.为什么?

hoh*_*oha 8

每次使用框架方法搜索某个索引(或范围)时,都要检查其结果是否为NSNotFound常量.在你的平台上,NSNotFound恰好是2147483647.这解决了虚幻索引的神秘面纱.

int index = [parentView.subviews indexOfObject:importantButton];
if (index != NSNotFound) {
  // found it
} else {
  // no luck
}
Run Code Online (Sandbox Code Playgroud)

至于为什么找不到你的视图的问题 - 检查每个插座在执行此搜索时是否实际指向某个视图.

更新

您可以检查插座是使用调试器设置还是通过记录

    NSLog(@"myView - %@", myView);
Run Code Online (Sandbox Code Playgroud)