2014-07-14 28 views
0

我有一個Xcode項目,在其中我拖動了兩個視圖,它們都從一個類LabelsView繼承。但是,當我嘗試運行代碼來查找子視圖的數量時,我得到了4.任何人都可以解釋爲什麼會發生這種情況。 代碼是如何查找子視圖數量?

NSLog(@"no. of subviews:%@",[NSString stringWithFormat:@"%d",[self.superview.subviews count]]); 
+0

我想這是因爲有4子視圖。 –

+1

嘗試打印子視圖數組並檢查內容。 – BergQuester

回答

2

你可能得到一個奇怪的子視圖數,因爲你所訪問self.superview.subviews。你可能只想要self.subviews。

如果像你說的,你只關心類型LabelsView的子視圖,可以過濾出那些像這樣:

int labelViewCount = 0; 
for(LabelsView *subview in self.subviews) { 

    if([subview isKindOfClass:[LabelsView class]]) { 
     labelViewCount++; 
    } 
} 
NSLOG(@"label count: %d", labelViewCount);