我打电话的时候:
self.viewController = [[DidItViewController alloc] initWithNibName:@"DidItViewController" bundle:nil];
Run Code Online (Sandbox Code Playgroud)
然后我在调试器中执行此行后立即检查self.viewController.navController,我发现它是空的(0x0).
在DidItViewController上,我将navController定义为:
IBOutlet NavigationController *navController;
Run Code Online (Sandbox Code Playgroud)
在我的nib文件中,我将NavigationController绑定到文件所有者(DidItViewController)上的这个navController属性.
为什么我的navController没有创建?有任何想法吗?我想我可能会遗漏一些关于initWithNibName工作方式的东西.
谢谢.
我的套接字测试应用程序有一个有趣的问题.
我已经设置了一个带有AcceptCallback函数的侦听套接字.我使用以下方法连接到侦听套接字:
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault,
(CFStringRef) self.clientService.hostName,
self.clientService.port,
&myReadStream,
&myWriteStream);
Run Code Online (Sandbox Code Playgroud)
我已经将数据发送回监听套接字myReadStream和myWriteStream,我将这两个转换为它们的NSStream等价物.
发送许多单独的数据包后会出现此问题.数据包的大小无关紧要,它是似乎引入错误的数据包数(或CFStreamCreatePairWithSocketToHost创建数).
在我发送大量数据包(可能大约100或200)后,当我尝试通过NSOutputStream发送数据时,我在NSStreamEvent回调中收到错误:
Operation could not be completed. (NSUnknownErrorDomain error 8.)
然后,如果我尝试创建新服务并将其发布到网络上,当我尝试解析新地址时会出现错误.它在NSNetService:didNotResolve委托方法中给出了错误代码10(此外,错误描述在这里是空白的).
这几乎就像监听套接字是"满"的,但它似乎认为它运行正常,因为当我检查CFSocketIsValid时它返回true.
我很难过,花了几个小时试图调试情况......有什么想法吗?谢谢.