gpt4 book ai didi

iphone - 在 viewDidLoad 中的子类之后, [super viewDidLoad] 被调用,但方法没有被执行

转载 作者:行者123 更新时间:2023-11-30 18:00:20 27 4
gpt4 key购买 nike

我有一个关于子类化的问题。

我从我的第一个 View 开始:在我的 .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,因为我正在调用 super viewDidLoad。

相反,它是在说:F you!好吧,我知道我只能绑定(bind)一次到端口,但我期待一条错误消息,这不会显示。

所以我删除了绑定(bind),然后我得到了搞砸了,显然当我没有绑定(bind)到端口时我不能说开始接收。如果没有这两种方法,它也可以正常工作,它会从父级打印出所有内容。

问题:我应该绑定(bind)吗?我实际上只需要监听端口 12345,我应该以不同的方式实现它吗?

我应该在没有绑定(bind)和开始接收的情况下工作吗?我想我更喜欢绑定(bind),这样我就不会监听所有端口。

为什么我不绑定(bind)时无法开始接收?

如何显示错误?因为它没有打印任何错误...

打招呼

最佳答案

你所做的是正确的。但我只有一个问题要问你是否已将派生 ViewController 的对象添加到某个 View 中。除非你不添加它,否则你的父类(super class)的 didLoad 不会被解雇。通过将派生 View 的对象添加到 SomeView 来进行检查。

关于iphone - 在 viewDidLoad 中的子类之后, [super viewDidLoad] 被调用,但方法没有被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com