Два вызова layerClass и initWithCoder, почему? - PullRequest
1 голос
/ 06 апреля 2011

2011-04-06 19: 30: 39.268 GLFun [531: 707] Вызывается!
2011-04-06 19: 30: 39.276 GLFun [531: 707] 0x12e0e0
2011-04-06 19: 30: 39.279 GLFun [531: 707] CAEAGLLayer
2011-04-06 19: 30: 39.482 GLFun [531: 707] Вызывается!
2011-04-06 19: 30: 39.485 GLFun [531: 707] 0x1322c0
2011-04-06 19: 30: 39.488 GLFun [531: 707] CAEAGLLayer

Что ж, я изучал работу типичного примера OpenGL ES, найденного в библиотеке шаблонов XCode. Мне было интересно, когда вызывается layerClass (до или после метода initWithCoder). Оказывается, это после initWithCoder (вызывается! В журнале). Но у меня происходит кое-что интересное, по крайней мере, со мной. Я снова получаю избыточный вызов init и layerClass ровно на 16864 байта в памяти от последнего (0x12e0e0 -> 0x1322c0).

Может кто-нибудь уточнить, почему происходит двойной вызов или почему существует избыточный объект в 0x1322c0 того же класса (EAGLView), который снова вызывает initWithCoder и layerClass? В шаблон OpenGL ES не было внесено никаких изменений, кроме добавления NSLog для отслеживания происходящего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...