2014-03-18 26 views
1

我想迭代並顯示我的文本視圖集合上的數組。Ios Iterate IBOutletCollection TextView

@property (strong, nonatomic) IBOutletCollection(UITextView) NSArray *myTextViewCollection;

但在UI,只在我的數組的最後一個元素是可用的。

我用迭代:

for (UITextView *textView in myTextViewCollection) { 
     for (int i = 0; i < feeds.count; i++) { 
      textView.text = [[feeds objectAtIndex:i] objectForKey:@"title"]; 
      textView.editable = false; 
     } 
    } 

feeds是NSMutableArray的contening NSMutableDictionnary對象的列表。

一個想法?

+0

如果是從「我」的變量來了嗎? – PCoder123

+0

我編輯了我的問題以添加變量 – user3433920

回答

1

應該是這樣的:

for (int i = 0; i < myTextViewCollection.count; i++) { 
    UITextView * textView = myTextViewCollection[i]; 
    textView.text = [[feeds objectAtIndex:i] objectForKey:@"title"]; 
    textView.editable = false; 
} 
+0

與我相同的結果是相同的結果是顯示 – user3433920

+0

您是否已經註冊'feeds'以確保它包含正確的值? – Logan

+0

是的,我已經貼了'feeds',數組很好 – user3433920

0

試試這個:

int i = 0; 
for (UITextView *textView in myTextViewCollection) { 
    textView.text = [[feeds objectAtIndex:i++] objectForKey:@"title"]; 
    textView.editable = false; 
} 
+0

我測試過了,這個動作只顯示了我的數組中的一個元素 – user3433920

0

您的代碼

for (UITextView *textView in myTextViewCollection) { 
    for (int i = 0; i < feeds.count; i++) { 
     textView.text = [[feeds objectAtIndex:i] objectForKey:@"title"]; 
     textView.editable = false; 
    } 
} 

相當於

for (UITextView *textView in myTextViewCollection) { 
    textView.text = [[feeds objectAtIndex:feeds.count - 1] objectForKey:@"title"]; 
    textView.editable = false; 
} 

這就是爲什麼只顯示最後一個元素數組的原因。

你應該改變代碼爲類似

int i = 0; 
for (UITextView *textView in myTextViewCollection) { 
    textView.text = feeds[i++][@"title"]; 
    textView.editable = false; 
} 
+0

我也測試過這個解決方案......但結果與初始上下文相同 – user3433920