我有一个关于子类化的问题。
我从我的第一个视图开始:在我的 .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;
}
}
移植和开始接收进展顺利。然后当我继承viewAController时:
@interface viewBController : viewAController
在我的 .m 文件中:
-(void)viewDidLoad{
[super viewDidLoad];
}
我期待我的子类 [viewBController] 将显示所有 NSLog,因为我调用了超级 viewDidLoad。
相反,它说:F你!好的,我知道我只能绑定一次到端口,但我期待一条错误消息,这没有显示。
所以我删除了绑定,然后我就搞砸了,显然我不能说当我没有绑定到端口时开始接收。如果没有这两种方法,它工作得很好,它会从父级打印所有内容。
问题:我应该绑定吗?我实际上只需要监听 12345 端口,我应该以不同的方式实现吗?
我应该在没有绑定和开始接收的情况下工作吗?我想我更喜欢绑定,这样我就不会监听我所有的端口。
为什么我不绑定时不能开始接收?
我怎样才能显示错误?因为它没有打印任何错误...
问候