Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ошибка при удалении - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Как создать массив целых чисел? http://www.cyberforum.ru/objective-c/thread580303.html
как создать массив целых чисел? при создании массива перед нами - массив объектов, но я хочу чтобы в массиве хранились обыкновенные целые числа... как это сделать?
Objective-C Как сохранить числовые данные, чтобы они были доступны при следующем запуске приложения? Когда обдумывал High score для игры, столкнулся с проблемой: переменные каждый раз обнуляются при перезапуске приложения? Можно их как-то сохранять в память телефона? P.S. Желательна реализация с... http://www.cyberforum.ru/objective-c/thread577783.html
Tutorial Objective-C
Добрый день, подскажите, что актуальное почитать для разработки под мак. Читал "Object-C 2.0 и программирование для Mac" дошел до главы "Введение в AppKit" и осознал, что издание не совсем...
Objective-C Авторизация в соц сетях
Добрый день! Пишу приложение, в нем нужно сделать авторизацию в различных соц сетях : facebook , яндкс, вконтакте, twitter , rambler, mail.ru. Такой вопрос для каждой сети должен быть разный принцип...
Objective-C Разбить спрайт с изображением на части (например, 3х3) и сохранить в массиве http://www.cyberforum.ru/objective-c/thread569420.html
есть спрайт с изображением (изображение квадратное). нужно разбить его на части (например, 3х3) (как пазлы обычно разбиваются, полученные кусочки - тоже квадратные) и сохранить эти получивщиеся части...
Objective-C Рисование в Objective-C Доброго времени суток. Подскажите пожалуйста как на Objective-C в Xcode реализовать что та типа Paint. Подскажите хотя бы с чего начать или дайте пожалуйста ссылку на примеры. заранее спасибо. подробнее

Показать сообщение отдельно
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
29.05.2012, 08:24
Очень много ошибок в коде.

1. Не стоит вызывать dealloc напрямую. Читай про управление памятью.
2. В ините кнопки:
Objective-C
1
2
imageView = [[[UIImageView alloc] initWithImage:image]
                        autorelease];
В деаллоке кнопки:
Objective-C
1
 [imageView release];
Итого 2 релиза на 1 ретейн.
3. Не вижу,кстати, чтобы imageView убирался из superview.
4. Странная логика. Зачем вообще нужен класс button, если он не работает как view? Чем, кстати UIButton не подошел?
5
Objective-C
1
2
         buttons[x][y] = [button new];
            buttons[x][y] = [buttons[x][y] init:type];
Переписать как
Objective-C
1
buttons[x][y] = [[button alloc] initWithType:type]
В твоем варианте init кнопки происходит дважды,тк new - это сокращенный вариант [[button alloc] init];


Еще советы :

6 Не используй транслит в коде ( я про вот это KOL_FIELD_BUTTONS )
7 Инициализацию кнопки следует переименовать из
Objective-C
1
- (id) init:(int) type
в
Objective-C
1
- (id) initWithType:(int) type
Так принято, легче читать oдинаково составленный код.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru