Iphone 在viewDidLoad中的子类之后,会调用[super viewDidLoad],但不会执行这些方法
我有一个关于子类化的问题 我从我的第一个观点开始: 在my.h文件中: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
@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/断点,以查看是否调用了它。我修复了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的是真正的问题:)。我修正了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的是真正的问题:)。我修正了它并更新了我的问题:)。我第一次给出的例子确实很管用。我现在写的例子才是真正的问题:)。