Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在viewDidLoad中的子类之后,会调用[super viewDidLoad],但不会执行这些方法_Iphone_Objective C_Ios_C_Inheritance - Fatal编程技术网

Iphone 在viewDidLoad中的子类之后,会调用[super viewDidLoad],但不会执行这些方法

Iphone 在viewDidLoad中的子类之后,会调用[super viewDidLoad],但不会执行这些方法,iphone,objective-c,ios,c,inheritance,Iphone,Objective C,Ios,C,Inheritance,我有一个关于子类化的问题 我从我的第一个观点开始: 在my.h文件中: @interface viewAController : UIViewController 在my.m文件中: -(void)viewDidLoad { [super viewDidLoad]; NSLog(@"Begin view"); udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_mai

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

我从我的第一个观点开始: 在my.h文件中:

@interface viewAController : UIViewController 
在my.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
在my.m文件中:

-(void)viewDidLoad{
[super viewDidLoad]; 
} 
我希望我的子类[viewBController]会显示所有的nslog,因为我调用了超级viewDidLoad

相反,它说:F你! OK我知道我只能绑定一次端口,但我期待一条错误消息,这不会显示

所以我删除了绑定,然后我得到了螺丝你,显然我不能说开始接收时,我没有绑定到一个端口。如果没有这两种方法,它就可以很好地工作,它可以从父级打印所有内容

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

我应该不受约束地工作,不接受工作吗?我想我更喜欢绑定,这样我就不会听我所有的端口

为什么我不能在没有束缚的时候开始接受

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


greetz

您所做的是正确的。但我只有一个问题要问您是否已将派生ViewController的对象添加到某个视图中。 除非你不加它,否则你就不会被解雇。
通过将派生视图的对象添加到SomeView进行检查。

这是错误的

NSLog("@Hi there!");
你必须使用

NSLog(@"Hi there!"); 

如果这是一个输入错误(我希望是),您必须使用addsubview或push将您的子类添加到某个位置。

这是一个合理的期望。在viewBController的viewDidLoad中放置一个断点,查看是否正在调用它,如果正在调用,则将其跟踪到viewAController。如何调用viewBController?尝试在viewBController中的viewDidLoad中放置NSLog/断点,以查看是否调用了它。我修复了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的是真正的问题:)。我修正了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的是真正的问题:)。我修正了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的例子才是真正的问题:)。