1

我正在尝试迭代并在我的文本视图集合上显示我的数组。

@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是一个包含 NSMutableDictionnary 对象列表的 NSMutableArray。

一个主意 ?

4

3 回答 3

1

应该是这样的:

for (int i = 0; i < myTextViewCollection.count; i++) {
    UITextView * textView = myTextViewCollection[i];
    textView.text = [[feeds objectAtIndex:i] objectForKey:@"title"];
    textView.editable = false;
}
于 2014-03-18T22:59:57.073 回答
0

尝试这个:

int i = 0;
for (UITextView *textView in myTextViewCollection) {
     textView.text = [[feeds objectAtIndex:i++] objectForKey:@"title"];
     textView.editable = false;
 }
于 2014-03-18T22:58:06.427 回答
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;
}
于 2014-03-18T23:01:09.427 回答