0

我想从“连接”视图通过 wifi 连接到一些任意设备。当按下“返回”并返回主菜单时,我希望我创建的连接仍然存在(以便应用程序的其他视图可以通过它发送/接收消息,如 ssh 或 telnet)。在单独的线程或 NSOperation 中创建连接(例如 CFNetwork 等)并将对该线程的引用传递给主菜单视图控制器是个好主意吗?

4

1 回答 1

1

您需要以这样一种方式设计您的应用程序,即每个单独的函数组都在一个单独的类中。例如,如上所述,为连接使用单独的类。您可以使用单例模式来创建 1 个实例,仅供您的应用在任何地方使用。此外,您不必担心 NSOperations ......这将是您班级中的调用,您可以使用经过良好测试的框架,然后离开。你会在这里找到它的例子......

https://github.com/AFNetworking/AFNetworking


@interface 网络连接:NSObject

@结尾

@implementation 网络连接

  • (id)sharedInstance { // 用于测试块是否完成的结构 static dispatch_once_t p = 0;

    // 将 sharedObject 初始化为 nil(仅限第一次调用) __strong static id _sharedObject = nil;

    // 在应用程序的生命周期内只执行一次块对象 dispatch_once(&p, ^{ _sharedObject = [[self alloc] init]; });

    // 每次返回相同的对象 return _sharedObject; }

  • (无效)做某事{

}

@结尾

任何时候你想使用那个类:

[[NetworkConnections sharedInstance] doSomething];

于 2013-10-13T22:19:54.927 回答