- (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
と思われます。それは間違っていますか?ビューの論理比較
- (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を返した場合、それはそこにはありません。
[self.subviews indexOfObject:view]
NSArrayをし、その方法はあなたの友達です:
しかし、あなたは数行のコードを捨てる必要があります。 indexOfObject:
メソッドは、-1の代わりにNSNotFound
を返します。
含まれているビューのサブクラスの場合は表示されません。特にNSTableViewCell
を扱っている場合。
大丈夫です。私は 'view'は本当に' self'のサブビューではないと思います。 – smparkes