Iphone NSMutable数组未更新UITextView

Iphone NSMutable数组未更新UITextView,iphone,ios6,nsmutablearray,Iphone,Ios6,Nsmutablearray,我正在尝试使用NSMutable数组更新UITextview文本,但String1没有使用String2、String3等进行更新。我是不是在编码方面做错了什么 Array = [[NSMutableArray alloc]initWithObjects:@"String1",@"String2",@"String3",@"String4", @"String5",..... nil]; [NSTimer scheduledTimerWithTimeInterval:2.

我正在尝试使用NSMutable数组更新UITextview文本,但String1没有使用String2、String3等进行更新。我是不是在编码方面做错了什么

Array = [[NSMutableArray alloc]initWithObjects:@"String1",@"String2",@"String3",@"String4", @"String5",..... nil];           

[NSTimer scheduledTimerWithTimeInterval:2.0
                                 target:self
                               selector:@selector(updateText)
                               userInfo:nil
                                repeats:YES];

self.textView.text = @"String1";

- (void)updateText {
int index = [Array count];

for(int i = index; i < Array.count; i++){

self.textView.text = [Array objectAtIndex:i];
}}
Array=[[NSMutableArray alloc]initWithObjects:@“String1”、@“String2”、@“String3”、@“String4”、@“String5”、…nil];
[NSTimer scheduledTimerWithTimeInterval:2.0
目标:自我
选择器:@selector(updateText)
用户信息:无
重复:是];
self.textView.text=@“String1”;
-(void)updateText{
int index=[数组计数];
for(int i=index;i
不能将
数组
用作变量名。那是一个保留字。此外,您正在将标准阵列初始化为NSMutableArray。如果您希望从标准阵列获得可变副本,只需执行以下操作:

NSMutableArray *yourMutableArray = standardArray.mutableCopy;
或者将其初始化为可变数组:

NSMutableArray *yourMutableArray = [[NSMutableArray alloc]initWithObjects:@"String1",@"String2",@"String3",@"String4", @"String5",..... nil];   

看看上面的updateText函数:您在数组的末尾启动循环,而循环只到达数组的末尾。它甚至不会进入循环。

以下代码工作正常(用此代码替换updateText并检查)

您的代码有一些错误:
1) 第一行的点必须离开(我想你知道……只是说)
2) 在updateText中,您说(我写下计算机在尝试执行代码时将看到的内容!)

永远不会被处决

3) 最后,即使将for循环更改为:

int index = [Array count];//5 for example
for(int i = 0; i < index; i++){
   self.textView.text = [Array objectAtIndex:i];
}
int index=[数组计数]//5例如
对于(int i=0;i
将发生的情况是(例如,我假设数组中有5个字符串):当updateText运行时……for循环立即执行……我变为2..3..4..5非常快,文本从“String1”变为“String2”…“String3”.“String4”…最后是“String5”,速度如此之快,以至于您只能看到从“String1”变为“String5”
在这之后…每2秒…updateText会再次执行…同样的事情也会发生。所以你看到的是…文本“改变”…从“String5”…到“String5”…所以你看不到任何事情发生

希望这是清楚的。

变量名应该是小写的。反复循环和设置标签有什么意义?你的代码对我来说毫无意义。循环中的代码根本不会被执行。通过增加索引,它不会更新UITEXTVIEW。当我尝试更新随机代码时,它可以使用下面的代码,但当使用上面的代码以串行方式更新时,它不起作用。int index=arc4random()%[myArray count];myTextView.text=[myArray objectAtIndex:index];你为什么要这么做?您选择的是一个随机数,mod很可能不会返回有效的索引。我刚刚编辑了我的答案,以包含以上代码的更多问题
int index = [Array count];//5 for example
for(int i = 5; i < 5; i++){
   self.textView.text = [Array objectAtIndex:i];
}
self.textView.text = [Array objectAtIndex:i];
int index = [Array count];//5 for example
for(int i = 0; i < index; i++){
   self.textView.text = [Array objectAtIndex:i];
}