2010-07-08 50 views
0

嘿,我有我已經爲這樣創造了一個字典,這些UIView的對象:使用對象

- (NSArray *)createNumberOfViews:(NSInteger)number 
{ 
NSMutableArray *viewArray = [NSMutableArray array]; 
for(NSInteger i = 0; i < number; i++) 
{ 
    UIView *view = [[UIView alloc] init]; 
    // any setup you want to do would go here, e.g.: 
    // view.backgroundColor = [UIColor blueColor]; 
    [viewArray addObject:view]; 
    [view release]; 
} 
return viewArray; 
} 

所以現在我需要訪問該陣列中的每個成員和他們每個人添加到上海華,任想法我可以繼續前進,並做到這一點?

+0

看一眼會告訴你方式 – Brian 2010-07-08 19:06:56

+0

這實際上是一種風格/首選項,但除非返回的數組將被修改,否則您應該返回一個不可變數組。否則,你應該改變你的方法聲明來返回'NSMutableArray'。 – ohhorob 2010-07-08 20:42:27

+0

@ohhorob:這真的是一個偏好問題。他的數組是NSMutableArray的事實是一個實現細節,就像所有NSArrays實際上都是NSMutableArrays(嚴格地說,檢查'[[NSArray arrayWithObject:@「Hello」] isKindOfClass:[NSMutableArray class]]')。他的方法簽名是準確的,他的方法實現是高效的,因此實際上不需要使事情複雜化或公開私有實現細節IMO。 – Chuck 2010-07-08 22:34:54

回答

2

如果你有NSArray *views = [self createNumberOfViews:10]然後使用

[(UIView *) addSubview[views objectAtIndex:number]]; 

這應該工作。如果它不是,但這是非常基本的。
編輯:糟糕。不太明白。修正了代碼:P

+0

不完全。 @Ollie詢問將數組中的每個視圖添加到超級視圖中;您正在向數組中的每個視圖添加子視圖 – ohhorob 2010-07-08 20:40:40

6

剛剛獲得該方法和enumerate through it的結果:

for (UIView *view in [self createNumberOfViews:42]) { 
    [yourSuperview addSubview:view]; 
} 
0

請嘗試爲NSArray的(如果需要的UIView)的文檔該

for(NSInteger i = 0; i < [viewArray count]; i++) 
{ 
    UIView *view = (UiView*)[viewArray objectAtIndex:i]; 
    [parentView addObject:view]; // parentView = your super view 
}