NSMutableDictionary бар UIImageViews ... NPTutableArray бағдарламасының айнымалы көшірмесін қосыңыз? Баламалы?

Сөздікте олардың негізгі мәндері арқылы массивті сөздерді құруға тырысамын. Дегенмен, ол маған ұнайтын жолды істемейді, себебі UIImageView-ды «көшіре» алмаймын.

Сөзді сөздіктен массивке қосқан кезде, ол нақты нысанның орнына маған көшірмесін береді. Мен сол хаттың бірнеше кескінін жасағым келмейді және оны сөздікке қосқым келмейді, себебі мен оны «s» немесе «а» кілттері арқылы қоңырау шала алмадым, және сол әріптерді пайдалану үшін бірнеше массив қажет уақытында.

Мен не істей аламын?

//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.
}
0
Неге көшірме қажет? Бұл туралы ойлап көріңіз, мүмкін, көшіруден аулақ бола аласыз. Олай болмаған жағдайда, NSCopying протоколын UIImageView теңшелетін қосалқы классына енгізу керек. Меніңше, оңай емес. Бұл туралы оқыңыз мұнда
қосылды автор Pavel Oganesyan, көзі
Мен керемет шешімді ойладым деп ойлаймын. Мен жақсы түнгі ұйқыны көрдім, оянып, душта ойландым. Мен бұл шешімді өзім ойлайтын жолмен жұмыс жасай аламын, ал адамдар любопыт. Менің шешімім Даниилдің айтқанын пайдаланып жатыр.
қосылды автор Jason, көзі
Менің шешіміммен жаңартылды.
қосылды автор Jason, көзі
Неге сурет көріністерінен гөрі суреттерді сақтамау керек? Суреттерді бөлісуге болады.
қосылды автор Hot Licks, көзі

2 жауаптар

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.
}
0
қосылды
Ах. Кеңеске рақмет. :)
қосылды автор Jason, көзі
Бірақ сіз «әріптерде» UIImageViews жасаусыз қажетсіз. Суреттерді орнына қойыңыз.
қосылды автор Hot Licks, көзі

Түпнұсқалық кодыңыз сәл өзгертілген:

//How I create the letters
        char s = 's';
        NSString *key = [NSString stringWithFormat:@"%c", s];
        [allTilesDictionary setObject:[UIImage imageNamed:@"s.png"] forKey:key];


//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];

Бұл кодты аздап өзгертілген пайдалану:

for (UIImage *letters in wordOne)
{

    newLetter = [[UIImageView alloc] init];
    newLetter.image = letters;
    newLetter.userInteractionEnabled = YES;

    //I can now either lay them out wherever I want on the view, or add them to a new array.
}

Керексіз UIImageViews құрылды.

0
қосылды