Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
eoLithic
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 32
1

Создание объекта в цикле

27.03.2013, 03:01. Просмотров 1597. Ответов 9
Метки нет (Все метки)

Здравствуйте. Я пишу небольшую карточную программу и у меня возникли небольшие трудности по поводу создания объекта в цикле.
Я почти уверен, что в коде ниже у меня ошибка. Я хочу, чтобы в каждом цикле у меня создавалась новая карта и ее адрес в памяти отправлялся в массив. Но видимо я буду присваивать разные значения одной и той же карте, и в результате у меня будет массив с 52 элементами, которые указывают на один и тот же адрес. У этой карты будет значение suit = 3 и rank = 12;
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-(id) init
{
    if ( self = [super init] )
    {
        deck = [[NSMutableArray alloc] initWithCapacity:52];
        Card *newCard = [[Card alloc] init];
        
        for ( int suit = 0; suit < 4; suit++ )
            for ( int rank = 0; rank < 13; rank++ )
            {
                newCard.suit = suit;
                newCard.rank = rank;
                [deck addObject:newCard];
            }
        [newCard release];
    }
    return self;
}
Что будет если я изменю немного код и сделаю как ниже: будет ли каждый раз выделяться новый участок памяти и создаваться разные карты?
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-(id) init
{
    if ( self = [super init] )
    {
        deck = [[NSMutableArray alloc] initWithCapacity:52];
        
        for ( int suit = 0; suit < 4; suit++ )
            for ( int rank = 0; rank < 13; rank++ )
            {
                Card *newCard = [[Card alloc] init];
                newCard.suit = suit;
                newCard.rank = rank;
                [deck addObject:newCard];
                [newCard release] // а надо ли делать релиз каждый раз в конце цикла?
            }
        [newCard release];
    }
    return self;
}
Заранее спасибо. А тем кто пошлет в гугл: умрите.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 03:01
Ответы с готовыми решениями:

Создание объекта
Всем доброго вечера, подскажите: NSTimeZone *timeZone = init]; timeZone...

Создание объекта в функции и возврат объекта из нее
Не могу разобраться с ссылками. Возможно ли вернуть из функции объект созданный...

Объяснить поведение объекта std::cin в цикле while
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;cstdlib&gt; #include&lt;windows.h&gt;...

Создание объекта из другого объекта
Добрый день. Теорию знаю плохо, но работаю над этим. У меня есть класс...

Создание объектов в цикле for
Добрый день! Подскажите пожалуйста, как создавать объекты с уникальным именем в...

9
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
27.03.2013, 14:22 2
Цитата Сообщение от eoLithic Посмотреть сообщение
Что будет если я изменю немного код и сделаю как ниже
Хорошо будет. Вот прямо что надо, то и будет. А если еще и 16-ю строку убрать, он даже падать перестанет.

PS.
Цитата Сообщение от eoLithic Посмотреть сообщение
А тем кто пошлет в гугл: умрите.
Ну зачем же просьбу о помощи завершать хамством и негативом?
1
eoLithic
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 32
27.03.2013, 14:49  [ТС] 3
mobidevelop,
Привык, что обязательно найдется умник, который пошлет в гугл.

Спасибо за помощь.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
27.03.2013, 17:51 4
Цитата Сообщение от mobidevelop Посмотреть сообщение
он даже падать перестанет.
Спасибо, поржал.

Цитата Сообщение от eoLithic Посмотреть сообщение
Привык, что обязательно найдется умник, который пошлет в гугл.
Ну так гугл это то место, в котором новичок должен обитать. Помимо сайта документации. А пожелать "умереть", как верно заметил mobidevelop, не очень хорошее начало общения на форуме, позиционирующее Вас как неадекватного человека в первую очередь.

P.S Понимания не жду, но искренне надеюсь
0
eoLithic
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 32
27.03.2013, 21:28  [ТС] 5
zulkis,
Порой бывает достаточно трудно сформулировать вопрос именно так, чтобы гугл понял. + не забываем, что ответы в гугле не просто так берутся: добрые люди, которые не страдают отправкойвгуглфилией, пишут ответы и гугл их находит.
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
27.03.2013, 22:00 6
На правах доброго человека, уже написавшего тут не один ответ, хочу робко добавить голос в поддержку
zulkis. Все-таки где-то в чем-то он прав, как мне кажется...
С другой стороны, если бы никто не спрашивал, то:
1. Гуглу было бы негде искать
2. Мне было бы нечем развлекаться ;-)
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
28.03.2013, 10:31 7
eoLithic, исходя из личного опыта, я Вам точно могу сказать - по вашему вопросу в гугле как минимум 3 страницы ответов сразу будет(учитесь формулировать вопросы, в чем проблема то?). Однако то, что Вы сразу идете спрашивать, не пытаясь самостоятельно найти решение(исходя из Вашего негатива в сторону "посылов в гугл" я пришел к такому выводу), не дает Вам бонуса, ибо отвечать в 50й раз что 2+2=5, а не 4, людям в большинстве своем просто лень. Да и зачем отвечать человеку, который "Испробовал не все варианты"(с).

Была замечательная статья на Хабре по поводу - "А что Вы попробовали перед тем, как прийти и задать вопрос?".
Советую ознакомиться. Если конечно не лень искать будет.

Добавлено через 1 минуту
mobidevelop, насчет обитания в гугле - тенденция сейчас такая. Быстрее найдешь, нежели побежишь в книжный, а потом еще рыться в книжке. Технологии слишком быстро меняются.
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
28.03.2013, 13:31 8
zulkis, да знаю я ) Если вы заметили, я тут только один вопрос пока задал. Слепота навалилась, бывает
Просто эпистолярный жанр плохо иронию передает
0
eoLithic
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 32
28.03.2013, 17:09  [ТС] 9
Люди задают вопросы на форумах, чтобы услышать ответ.
Какова цена священнику, который на каждый вопрос будет отвечать фразой "В Библии ищи ответ."?
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
28.03.2013, 21:39 10
Аналогия не корректна. Священнику деньги платят и всячески уважают, к мнению его авторитетному прислушиваются. Пошлет в библию, пойдут читать. А на форумах чаще срач разводят, который даже диспутом не назовешь. Вероятно, мы наблюдаем рождение еще одного. Сбегаю за пивком и вернусь. Без меня не покусайтесь
0
28.03.2013, 21:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 21:39

Создание массивов в цикле
Можно ли создать N количества массивом с помощью цикла?

Создание переменной в цикле
for (int i =0; i &lt; 10; i++) { int a = 10; } ...

Создание потоков в цикле
В общем форумчане такая проблема. Я имею такой код: void func(string a){...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru