2012-06-22 69 views
0

我想根據我的輸入更改表視圖的數量,這將根據用戶而改變,我需要能夠在數據源中引用這些表視圖,因爲它們應該保留不同的數據,具體取決於實現代碼如下。我想這可能會完成,如果我可以爲每個創建的表視圖創建一個唯一的變量,但我需要能夠通過我的全班引用這些變量?以編程方式創建變量

+4

問題是什麼? – 2012-06-22 02:25:19

+1

我的問題是,如果有可能創建變量,我可以通過編程方式通過我的全班引用。 –

回答

2

您可以創建一個NSMutable數組,並直接在它們中添加UITableView。您可以使用靜態引用創建全局變量存儲並在全局範圍內訪問它。

@interface Singleton : NSObject { 
    NSMutableArray *TableArray; 
} 
+ (Singleton *)instance; 
@end 

@implementation Singleton 

+ (Singleton *)instance { 
    static Singleton *instance; 

    @synchronized(self) { 
     if(!instance) { 
      instance = [[Singleton alloc] init]; 
     } 
    } 
    return instance; 
} 

另一種選擇將是包括的NSMutableArray在你的appDelegate和訪問它在整個應用程序全局。

動態創建對象不是問題。 你可以創建儘可能多的UITableview,並使用它們將它們添加到NSMutableArray。

UITableview *temp = [UITableview alloc] initWithFrame : ... ]; 
temp.delegate = self ; 
tableArray.addObject(temp); 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath(NSIndexPath *)indexPath{ 

     if(tableView = [tableArray objectAtIndex:x]{ 
     // do this 
     } 
     else if (select appropriate table view from array){ 

     } 
     //do this for the rest 
} 

你面對的是一個設計問題。其他替代方案請參閱Apple Guides for Objects Communication

1

爲什麼不創建一個NSMutableArray成員變量來存儲它們全部?當您需要更改數據源時,請將特定的tableview設置爲數據源。我不確定你想要做什麼的細節,但動態地添加它們並更改數據源不應該是一個問題。

+0

我會試着看看這種方法是否有效 - 謝謝:) –