2016-04-13 18 views
0
NSMutableArray *dataArray = [NSMutableArray array]; 
for (int i = 0; i<5; i++){ 
    [dataArray addObject:[UITextView new]]; 
    dataArray[i].text = "here"; 
       ^Property 'text' not found on object of type 'id' 
} 

我檢查了類,方法和iVars ......一切都在那裏,但我無法使用它們。爲數組中的對象的iVar賦值

我想要一個用戶定義數量的數據字段(如'Contants'應用程序)的UIScrollView。所以我將它們加載到一個數組中並將它們放到滾動視圖中。

但是,我無法調用這些方法。我想用某種支柱(數組,字典等)

我嘗試這樣做:

textView1 = dataArray[i]; 
textView1.text = @"######### Here I am ##########"; 

但是,這似乎並沒有在數組中的對象來存儲。我認爲數組存儲了一個指向該對象的指針,並且textView1將是一個指向該對象的指針,因此它應該將'.text'的值存儲到同一個對象中。

回答

1

你嘗試過什麼似乎有點我不清楚,但這應該工作:

NSMutableArray *dataArray = [NSMutableArray array]; 
for (int i = 0; i<5; i++){ 
    UITextView *t = [UITextView new]; 
    [dataArray addObject:t]; 
    t.text = @"here"; 
} 
+0

我試圖加載文本框和標籤的列表,這樣我可以從數據存儲加載它們的數據入口頁面滾動。我使用該數組是因爲textField的數量會發生變化。處理時指針「t」不會在那裏。這就像iPhone中的「聯繫人」應用程序,您可以在其中輸入數據。 – KarlJay

+0

哦,你的代碼僅僅是一個例子嗎? – Fonix

+0

以及總體問題是'dataArray [i] .text =「here」;'因爲NSArrays只存儲NSObject類型的對象,所以要去'dataArray [i]'返回一個沒有.text屬性的NSObject。你需要首先將dataArray [i]轉換爲UITextField,然後訪問.text(在重複問題中解釋) – Fonix