私は辞書の中のキーの値で配列に単語を構築しようとしています。しかし、UIImageViewを "コピー"することができないので、私が好きなように動作しません。NSMutableDictionaryにUIImageViewsが含まれています... NSMutableArrayに変更可能なコピーを追加しますか?代わりに?
辞書にある文字を辞書に追加すると、実際のオブジェクトではなくコピーが得られれば完璧です。同じ文字の複数のイメージを作成して辞書に追加したくない場合は、キー "s"または "a"で呼び出すことができなくなります。同じ文字を使用するには複数の配列が必要です当時。
どうすればよいですか?
//How I create the letters
char s = 's';
NSString *key = [NSString stringWithFormat:@"%c", s];
alphabetS = [[UIImageView alloc] init]];
[alphabetS setImage:[UIImage imageNamed:@"s.png"]];
[allTilesDictionary setObject:alphabetS forKey:key];
[alphabetS release];
//How I use the imageviews from the dictionary
NSMutableArray *wordOne = [[NSMutableArray alloc] initWithObjects:[allTilesDictionary objectForKey:@"s"],[allTilesDictionary objectForKey:@"h"],[allTilesDictionary objectForKey:@"o"],[allTilesDictionary objectForKey:@"p"], nil];
EDIT:私の解決策。それは完全に動作します。
for (UIImageView *letters in wordOne)
{
newLetter = [[UIImageView alloc] init];
newLetter.image = letters.image;
newLetter.userInteractionEnabled = YES;
//I can now either lay them out wherever I want on the view, or add them to a new array.
}
なぜ画像ビューではなく画像を保存するのですか?画像は共有することができます。 –
なぜコピーが必要ですか?考えてみてください。おそらくコピーを避けることができます。そうでない場合は、UIImageViewのカスタムサブクラスにNSCopyingプロトコルを実装する必要があります。それほど簡単ではないと思います。それについて読む[ここ](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSCopying_Protocol/Reference/Reference.html) –
私は完全な溶液。私は良い夜の睡眠をして、目を覚まし、シャワーでそれを考えました。私が思うように動作すれば私のソリューションを投稿し、人々は好奇心が強いです。私の解決策は、ダニエルが言っているようなものを使っています。 – Jason