2012-05-14 2 views
0

У меня возник вопрос о подклассе.После подкласса в viewDidLoad вызывается вызов [super viewDidLoad], но методы не выполняются.

Я начинаю с моей первой точки зрения: в моем файле .h:

@interface viewAController : UIViewController 

в моем файле .m:

-(void)viewDidLoad 
{ 
[super viewDidLoad]; 
NSLog(@"Begin view"); 
udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; 
    NSError *error = nil; 

if (![udpSocket bindToPort:12345 error:&error]) //check ff of dit werkt! 
{ 
    NSLog(@"F you"); 
    return; 
} 

NSLog(@"Derde line"); 
if (![udpSocket beginReceiving:&error]) 
{ 
    NSLog(@"Screw you!"); 
    return; 
} 
} 

Портирование и beginreceiving идет хорошо. , а затем, когда я подкласс viewAController:

@interface viewBController : viewAController 

в моей .m файл:

-(void)viewDidLoad{ 
[super viewDidLoad]; 
} 

Я ожидал, что мой подкласс [viewBController], будет отображать все NSLogs, потому что Im называя супер viewDidLoad.

Вместо этого он говорит: F вы! Oke Я понимаю, что я могу привязать только один раз к порту, НО Я ожидаю сообщение об ошибке, это не отображается.

Таким образом, я удаляю привязку, а затем получаю Винт, видимо, я не могу сказать, что начинаю понимать, когда Im не привязан к порту. Без этих двух методов он работает отлично, хотя он печатает все из родителя.

ВОПРОСЫ: Должен ли я связываться? На самом деле мне нужно только слушать порт 12345, нужно ли мне просто реализовать это по-другому?

Должен ли я работать без привязки и не начинать? Я думаю, что предпочитаю привязывать, чтобы я не слушал все мои порты.

Почему я не начинаю получать, когда я не связываюсь?

Как я могу показать ошибку ?? Потому что это не печатает никаких ошибок ...

Greetz

+0

Это разумная вещь, которую можно ожидать. Поместите контрольную точку в viewDidLoad viewcontroller, чтобы узнать, вызвана ли она и, если да, проведите ее в viewAController. –

+0

Как вы называете viewBController? Попробуйте установить NSLog/breakpoint в viewDidLoad в viewBController, чтобы узнать, вообще ли он вызван. – Martol1ni

+0

Я исправил его и обновил свой вопрос :). Пример, который я впервые дал, действительно работает lol. Теперь я написал настоящий вопрос :). – Melkon

ответ

0

Что вы делаете right.But у меня есть только один вопрос, спросить, есть ли вы добавили объект производного ViewController к некоторому виду. Если вы не добавите его, вы не получите didLoad вашего суперкласса. Проверьте, добавив объект вашего производного вида в SomeView.

+0

Я исправил его и обновил свой вопрос :). Пример, который я впервые дал, действительно работает lol. Теперь я написал настоящий вопрос :). – Melkon

0

Это неправильно вы делаете

NSLog("@Hi there!"); 

вы должны использовать

NSLog(@"Hi there!"); 

И если это опечатка (я надеюсь, что это), вы должны добавить класс к югу на некоторые, где используя add subview или нажав его.

+0

Я исправил его и обновил свой вопрос :). Пример, который я впервые дал, действительно работает lol. Теперь я написал настоящий вопрос :). – Melkon

Смежные вопросы