Ранее я задавал этот вопрос слишком много кода.Делегат установлен в контроллере просмотра, не поддерживается в подвале
ViewController инициализирует цепочку UIView, контроллер >> View >> SubView, в ViewController. После того, как подвид инициализровать ViewController устанавливается в качестве делегата:
aSubView.delegate = self;
NSLog(@"[email protected]",aSubview.delegate),
возвращает ViewController, так что я знаю, что это установлено.
В SubView NSLog(@"[email protected]",self.delegate),
возвращает случайное дерьмо, такое как hr.lproj или путь к файловой структуре Foundation.
Сбой при попытке реализовать любой из методов делегатов, поскольку делегат не ссылается на ViewController, а вместо этого на случайность.
Это то, что файл SubView.h выглядит следующим образом:
#import "TestDelegate.h"
@interface TestSubView : UIView {
id<TestDelegate> delegate;
}
@property (assign) id<TestDelegate> delegate;
EDIT: ViewController инициализируется в приложение делегата, как например:
ViewController *controller = [[ViewController alloc] init];
[window addSubview:controller.view];
[controller release];
Единственная вещь, которую я добавил в приложение Делегировать по умолчанию является импорт заголовка ViewController
Не думайте так, потому что, поскольку это цепочка, если был выпущен контроллер вида, было бы все остальное, и я бы сказал, так как Subview имеет свой фон, установленный на красный – 2010-11-22 23:50:05