ios逻辑比较视图

时间:2012-01-26 23:04:34

标签: ios

- (int)indexOfView:(id)view {
    for(int i = 0; i < self.subviews.count; ++i) {
        UIView *v = [self.subviews objectAtIndex:i];
        if(v == view) return i;
    }

    return -1;
}

这总是返回-1。我怀疑问题出在v == view。这是不正确的吗?

1 个答案:

答案 0 :(得分:4)

如果它总是返回-1,那么它就不在那里。

但是你应该丢掉几行代码:

[self.subviews indexOfObject:view]

NSArray及其方法是你的朋友。 indexOfObject:方法将返回NSNotFound而不是-1。

如果它是其中一个包含视图的子类,则它不会显示。特别是如果您正在处理NSTableViewCell