0

IBOutletCollection の一部を形成する一連の UILabels があります

@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"]; 
    }

}

これは問題なく動作しますが、setText をクリックすると、IDE で Xcode のクイック ヘルプにエラーが表示されます。

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 がこのインスタンスで間違っているのでしょうか?

4

1 に答える 1

2

Xコード。疑う

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

それをなくすでしょう。

于 2012-07-01T12:54:41.463 に答える