设置作为IBOutletCollection一部分的UILabel文本的正确方法是什么

时间:2012-07-01 12:47:17

标签: objective-c ios uilabel iboutletcollection

我有一系列UILabel,它们构成了IBOutletCollection的一部分

@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *labelCollection;

我已经按顺序将UILabels的标签设置为0,1,2,3 ...并且我已按标签号对* labelCollection进行了排序。因此,IBOutletCollection数组中的对象'0'是标记为'0'的UILabel等。

使用以下功能,我可以在特定的obj / tag上更新UILabel的文本:

- (void) updateLabelAtTag:(int)objId {
        [[self.labelCollection objectAtIndex:objId] setText:@"my new text"]; 
    }

}

这很好,但是,当您点击IDE中的setText:时,Xcode Quick Help会抱怨

setText:
@property(nonatomic, copy) NSString *text
iOS (2.0 and later) 
Deprecated: Use the textLabel and detailTextLabel properties instead.
The text of the cell.
UITableViewCell.h

对于我的生活,我无法弄清楚UITableViewCell与这种情况有什么关系。我当然似乎无法访问textLabel或detailTextLabel属性。

问题:我是否使用了弃用的属性,或者Xcode在此实例中出错了?

1 个答案:

答案 0 :(得分:2)

Xcode的。我怀疑

 [(UILabel *)[self.labelCollection objectAtIndex:objId] setText:@"my new text"]; 

会让它消失。