Ios 正在更改NSMutableArray中UILabel的.center属性

Ios 正在更改NSMutableArray中UILabel的.center属性,ios,objective-c,nsmutablearray,uilabel,Ios,Objective C,Nsmutablearray,Uilabel,我在Xcode 5中的iOS应用程序的实现文件中有一组IBMOutlet UILabel。我将它们放入NSMutableArray并尝试访问它们的属性.center,但无法在屏幕上显示新的中心 标题: 实施: 在另一种方法中,当我尝试更改数组中标签的.center时,什么也没有发生。我喜欢这样: //"mylabel" is a UILabel property of the my class _mylabel = [myArray objectAtIndex:0] ; _mylabel

我在Xcode 5中的iOS应用程序的实现文件中有一组IBMOutlet UILabel。我将它们放入NSMutableArray并尝试访问它们的属性.center,但无法在屏幕上显示新的中心

标题:

实施:

在另一种方法中,当我尝试更改数组中标签的.center时,什么也没有发生。我喜欢这样:

//"mylabel" is a UILabel property of the my class
_mylabel = [myArray objectAtIndex:0] ;    
_mylabel.center = CGPointMake(78,400);//nothing happens

//there isn't bad access because this works:
label1.center = CGPointMake(78,400) ;
即使在方法中定义了UILabel my label,仍然没有发生任何事情

UILabel *mylabel = [myArray objectAtIndex:0] ;    
mylabel.center = CGPointMake(78,400);  //nothing happens
[myArray objectAtIndex:0]。中心显然无法工作,因为对象的id为


如何访问NSMutableArray中UILabels的.center并将更改显示在屏幕上?

我找到了问题的答案。在@interface中创建UILabel*myLabelArray[500]或任何数字{ //出口到这里}。现在,将所有UILabel分配给数组,当您尝试通过数组访问它们时,您可以

myLabelArray[0] = firstLabel ;
myLAbelArray[1] = secondLabel ;
...

什么是NSMutableArray*myArray?是ivar吗?当您从第二个方法访问myArray时,是否确定它不为零?当然不是nil-从数组中获取对象后,_mylabel==nil吗?在整个操作过程中的任何时候,任何东西都不是nil。是的,数组是调试它的一个工具。添加NSLog@Label%p已添加到数组%p,label1,myArray;和NSLog@Label%p来自数组%p,\u mylabel,myArray;。比较指针。使用label1引用访问也很奇怪,如果您没有在实现中编写自定义@synthesis,那么它应该是_label1或self.label1。我在@interface的括号中声明了标签1和2,因为它们是出口。我已经调试过了,但我认为问题是我制作了第二个UILabel来等于数组中的对象,所以它实际上没有链接到xib文件。我仍在搜索如何直接访问数组中的对象。我想我找到了类似的东西:[[myArray objectAtIndex:index]setBackgroundColor:color];但是使用setCenter方法。不,我上面的注释:[[myArray objectAtIndex:index]setCenter:centerPoint];也不行。但是,访问UILabel(而不是从数组)是有效的,因此我认为数组设置错误,或者当添加对象时,它不是实际对象,而是对象的副本。
UILabel *mylabel = [myArray objectAtIndex:0] ;    
mylabel.center = CGPointMake(78,400);  //nothing happens
myLabelArray[0] = firstLabel ;
myLAbelArray[1] = secondLabel ;
...