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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Fennec
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 36
#1

Не происходит viewdidload - Objective-C

13.06.2012, 18:26. Просмотров 896. Ответов 6
Метки нет (Все метки)

Пишу на Cocos2d, пытаюсь прикрепить рекламный модуль iAd. Для этого как я понял какие-то опрерации нужно произвести на событии viewDidLoad. Но оно не происходит (NSLog не выводит сообщение). Что я упустил?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 18:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не происходит viewdidload (Objective-C):

-viewDidLoad & iOS4 - Objective-C
Добрый день! Есть две проблемы с вызовом -viewDidLoad. Во-​первых, при работе с собственным UIViewController классом, -viewDidLoad не...

Как происходит происходит простейший вывод сообщения в консоль в MASM - Assembler
Простите за нубство. Начал читать книгу Калашникова и там в первейшей программе такой код: CSEG segment org 100h Begin: ...

Запуск Excel из Access происходит строго периодически - через раз происходит сбой - MS Access
запуск Excell из Access происходит строго периодически - через раз. происходит сбой. После сбоя прложение выполняется нормально, затем...

В какой части матрицы происходит накопление суммы. обьясните, что и как происходит, пожалуйста - Pascal ABC
Uses crt; Var a: Array of Real; i,j,n,k: Integer; s: Real; BEGIN Randomize; Writeln('Введите размер матрицы: ');...

Ini-файл: чтение происходит без проблем, но запись в файл не происходит, почему? - C++ Qt
Пытаюсь научиться работать с ini файлам, чтение происходит без проблем но запись в файл не происходит, пишу на win7? почему та, всё же...

При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне корректно - C#
Есть строго типизированные DataSet и TableAdapter. При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fakir88
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 5
18.06.2012, 22:06 #2
Если класс в котором ты делаешь является наследником классов cocos2d то событие viewDidLoad там не определено, попробуй код который нужно запихай в viewDidLoad, поставить в метод init
Objective-C
1
2
3
4
5
6
7
8
-(id) init
{
    
    if( (self=[super init])) {
         твой код
}
return self;
}
.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
19.06.2012, 16:02 #3
Fennec, Вы разберитесь вообще что есть что. Какой viewDidLoad в кокосе. viewDidLoad это callback-метод Cocoa, который как бы говорит контроллеру, что его отображение успешно загрузилось.

Для Вашего случая подойдет вариант создания вашей iAd view непосредственно в классе-делегате вашего приложения в методе applicationDidFinishLaunching:withOptions:, а затем будет производиться добавление этой iAd view на UIWindow. Читайте документацию. Если не разбираться, у Вас возникнут большие проблемы с кокосом. Если только это не приложение типа copy-paste из туториалов.
0
fakir88
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 5
19.06.2012, 19:49 #4
zulkis А с инитом не прокатит? Очень интересно, потому как с кокосом знаком мало(( точнее пока мало))
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.06.2012, 05:52 #5
А Вы попробуйте, потом расскажете сообществу, что у Вас получилось.
0
Fennec
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 36
20.06.2012, 10:38  [ТС] #6
Да я разбираюсь потихоньку. Как раз вот давеча разместил добавление iAd непосредственно в AppDelegate, прокатило. Я так понимаю, что если с рекламной вьюхой понадобится взамидествовать извне понадобится выносить ее в качестве статической переменной.

Кстати, попутно о статических переменных. Поскольку я перешел на Obj-C с AS3 позволю себе привести пример на "родном" языке.

Я так понимаю, что в Obj-C статические переменные это как и в AS3 переменные которые пирнадлежат непосредственно классу а не его экземпляру, по сему нужную переменную мы можем вызвать из любого места кода, например MouseEvent.CLICK. При том, способ задания такой переменной ограничивается одной строчкой кода, к примеру public static var anyProperty. Из прочитанных мной статей Obj-C в этом плане простотой не блещет, и для задания такого рода переменной предлагают составлять отдельный класс-синглтон. Неужели нет более простого способа?
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.06.2012, 22:37 #7
Скажем так напрямую objC не поддерживает переменные класса. Но вы можете сэмулировать это поведение создав статическую переменную и сделав сеттер\геттер для неё.

Like that:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
// TheClass.h
@interface TheClass : NSObject
+ (int)count;
@end
 
// TheClass.m
static int theCount = 0;
 
@implementation TheClass
+ (int) count { return theCount; }
@end
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 22:37
Привет! Вот еще темы с ответами:

Не происходит архивация - Windows 8, 8.1
до этого на нем никогда не делал архивацию решил сделать не получается. выводит ошибку. архивацию делаю на другой том, компьютер...

Не происходит сканирование - Delphi
Добрый день к сожалению часть кода была упятерена и приходиться восстанавливать ошибка Form1.StringGrid1.Cells:=Dir+ScanRec.Name;...

Не происходит ничего - PHP БД
Всем привет, есть плагин на wordpress(не суть) По направлению тестирование, прохождение теста выполняется, но после нажатия кнопки...

Не происходит запись в БД - PHP БД
Есть веб-страница с формами ввода. Данные (введенные) отправляются на страницу-обработчик, которая считывает их и добавляет переменные....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2012, 22:37
Ответ Создать тему
Опции темы

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