2011-11-07 36 views
0

我子類UIView並有一個名爲imgName的NSString成員; 添加到超級視圖的所有視圖都是MyCustomView;iOS視圖子視圖無法識別自定義類成員

我這樣做:

NSArray *arr = [view subviews]; 

for (int x = 0; x < [arr count]; x++) 
{ 
    MyCustomView *view = [arr objectAtIndex:x]; 
    NSString *imgName = view.imgName; <-- Unrecognized selector 

} 

我真的想訪問該成員。如果我保留了子視圖圖像名稱的不同運行列表,它將會出現問題,因爲我還必須在視圖層次結構中維護其定位(因爲我希望視圖層次結構與zIndexes一樣)。

如何從[查看子視圖]中獲取字符串?

+0

您可以發佈'MyCustomView'的類定義,或者更具體地說,您如何聲明該成員? –

回答

3

你應該仔細檢查子視圖的類型是否正確。你可以像這樣的東西執行檢查:

for (int x = 0; x < [arr count]; ++x) 
{ 
    UIView *subView = [arr objectAtIndex:x]; 
    if ([subView class] == [MyCustomView class]) 
    { 
     //Perform actions on the view as needed 
    } 
} 

賠率是有一個子視圖這是你MyCustomView類型不,當它試圖投和訪問員,它不能因爲它是不恰當類型。

編輯: 你確實提到所有添加的子視圖都是MyCustomView。我個人不會相信iOS結構沒有子視圖已經嵌入到UIView

+0

這只是我需要的支票。它確實看起來像iOS在某處添加了一個默認的UIView。 – spentak

+0

很高興爲您服務! –