为什么我无法将ViewController推到下一个ViewController?

| 我在Objective-C上的套接字上工作,所以我写了一个函数,当我的条件为真时获取服务器的响应,我想推送到下一个视图控制器,但是它没有推送或提供plz帮助 这里给出一些代码 这是我的职责
void receiveData(CFSocketRef s, 
       CFSocketCallBackType type,  
       CFDataRef address, 
       const void *data, 
       void *info)
{
    LoginViewController *lvc = [[LoginViewController alloc] init];

    char *buffer = (char *)CFDataGetBytePtr((CFDataRef)data);

    if (strstr(buffer, \"LCNF|ACPT\") == NULL)
    { 
        NSLog(@\"%@\",data);
        [lvc alert];
    }
    else

        [lvc goToWatchList];
}
我的“ goToWatchlist”方法是:
-(void)goToWatchList
{

    WatchListViewController *wlController = [[WatchListViewController alloc] initWithNibName:@\"WatchListViewController\" bundle:nil];
    [self presentModalViewController:wlController animated:YES];
    [wlController release];
}
提前感谢
已邀请:
我以前做过非常类似的事情。你确定它甚至达到你的
[lvc goToWatchList];
receiveData
内?还要检查从套接字读取的内容是否没有阻塞线程! 还要检查您的xib文件-如果找不到该文件,它也不会出现...(Ups-我在输入时已经提到过...)
确保这在主线程上发生。还要确保init消息之后wlController不为nil,以防找不到笔尖或出现问题。 您在此处创建一个新的LoginViewController:
LoginViewController *lvc = [[LoginViewController alloc] init];
但是我看不到要在视图中添加的位置。您将WatchListViewController推到其上,但由于其父级(LoginViewController)未显示而无法显示。是的,将调用LoginViewController-(void)loadView上的loadview,因为您正在向其中添加某些内容(WatchViewController),但是由于未显示该视图,因此不需要加载LoginViewController的视图。 尝试将以下代码添加到receiveData的末尾:
[[[UIApplication sharedApplication] keyWindow] addSubview:lvc.view];
如果这不起作用,请尝试更改为goToWatchListFunction以在[[UIApplication sharedApplication] keyWindow]上显示模式视图控制器。

要回复问题请先登录注册