Делегат установлен в View Controller, не поддерживается в subview - PullRequest
0 голосов
/ 23 ноября 2010

Я задавал этот вопрос ранее со слишком большим количеством кода.

ViewController инициализирует цепочку UIView, Controller >> View >> SubView, в ViewController.После инициализации SubView ViewController устанавливается в качестве его делегата:

aSubView.delegate = self;

NSLog(@"$@",aSubview.delegate), возвращает ViewController, поэтому я знаю, что он установлен.

В SubView, NSLog(@"$@",self.delegate), возвращаетслучайное дерьмо, такое как hr.lproj или путь к файлу к платформе Foundation.

Сбой при попытке реализовать любой из методов делегатов, поскольку делегат не ссылается на ViewController, а вместо этого на случайность.

Вот как выглядит файл SubView.h:

#import "TestDelegate.h"

@interface TestSubView : UIView {

 id<TestDelegate> delegate;
}

@property (assign) id<TestDelegate> delegate;

РЕДАКТИРОВАТЬ: ViewController инициализируется в делегате приложения следующим образом:

ViewController *controller = [[ViewController alloc] init]; 
[window addSubview:controller.view];
[controller release];

Единственное, что я могудобавлен в делегат приложения, по умолчанию импорт заголовка ViewController

1 Ответ

1 голос
/ 23 ноября 2010

Возможно ли, что объект контроллера представления освобождается / освобождается между двумя вызовами NSLog?

...