1

私は自分のプログラムをこのようにしたい

if ([UIImageViewObject identifier]==@"heyItsMeYeaCoolDude")
{
    do some methods
}

これを行うたびに、プログラムがクラッシュして次のように言います。

2012-07-29 19:09:58.401 ブリッジ [2711:f803] -[UIImageView 識別子]: 認識されないセレクターがインスタンス 0x8874f70 に送信されました

その後、がらくたの束で。

heyItsMeYeaCoolDudeストーリーボードで、ID インスペクターのラベルの下に入力しましたが、プログラムが不平を言っています。

タグも使用できることはわかっていますが、すでに画像タグを別の目的で使用しています。助けてください!

4

1 に答える 1

1

あなたの質問の下のコメントであなたがした提案に応えて、@ownageGuy、あなたが提起した質問への答え:

好きなものをサブクラス化できます。サブクラス化UIImageViewは、この問題に対する完全に受け入れられる解決策です。コンテナー パターンも検討してください。すなわち。識別子のUIImageViewおよび のインスタンスを含むクラスを作成します。NSStringその後、サブクラス化に不利益があったUIImageViewとしても、恐れているように、それは排除されます。

@interface UIImageViewContainer : NSObject
{
    UIImageView* imgView;
    NSString* identifier;
}

次に、タイプ のオブジェクトを作成し、適切なUIImageViewContainerに設定して、識別子文字列を 内に格納します。imgViewUIImageViewidentifier

于 2012-07-29T23:29:48.473 に答える