8

iPhone の開発を始めたとき、UIView にキーと値のペアをアタッチできることをどこかで読みました。不必要なサブクラス化を防ぐために、すべての UIView を辞書として使用して、それらに添付したいデータを保存できることを理解しました。ただし、参照を見つけるためにあらゆる場所を検索し、自分で動作を実装しようとしましたが無駄でした。

私は次のようなことを試しました:

UIView *myView = [[UIView alloc] init];
[myView setValue:@"hello" forKey:@"world"];

しかし、これはうまくいかないようです。上記のコードが行うことは、値 @"hello" をプロパティ @"world" に割り当てようとしていると思いますが、これは私が望んでいるものではありません。

私が達成しようとしていることは可能ですか?

ここで何か助けていただければ幸いです。

ありがとう!

ニック。

4

1 に答える 1

24

UIView は、汎用キーのキー値に準拠していません。もしそうなら、あなたのコードサンプルは実際にキー @"world" の値 @"hello" を設定します。ただし、レイヤーはキー値に準拠しているため、次のように動作します。

UIView *myView = [[UIView alloc] init];
[myView.layer setValue: @"hello" forKey: @"world"];
于 2008-12-30T13:33:01.687 に答える