Ios 调用委托函数并返回结果
我正在用ios上的SocketRocket做一个小测试项目。但我似乎无法理解这个逻辑 事情是这样的:我需要一种“全局”函数来调用套接字。当我的应用程序打开时,它应该使用WebSocket进行连接Ios 调用委托函数并返回结果,ios,objective-c,socketrocket,Ios,Objective C,Socketrocket,我正在用ios上的SocketRocket做一个小测试项目。但我似乎无法理解这个逻辑 事情是这样的:我需要一种“全局”函数来调用套接字。当我的应用程序打开时,它应该使用WebSocket进行连接 _webSocket.delegate = nil; [_webSocket close]; _webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@
_webSocket.delegate = nil;
[_webSocket close];
_webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://localhost:12345/connectr"]]];
_webSocket.delegate = self;
self.title = @"Opening Connection...";
[_webSocket open];
但是,我需要获得连接到委托函数的逻辑。我已经想到了单例函数,但我读到单例函数的cpu开销相当高
所以基本上我的问题是:
启动使用(appdelegate)初始化的SocketRocket实例的全局可访问函数的最佳方式是什么 您可以在appdelegate中使用属性和合成声明变量 在需求类中导入appdelegate类
AppDelegate *objappdel=(AppDelegate*)[[UIApplication sharedApplication]delegate];
objappdel.variablename;
你可以毫无困难地使用单件。真正地这比使用50000 LOC创建AppDelegate要好得多。另外,您的AppDelegate应该只知道应用程序事件,而不知道套接字。我不知道您如何假设单例程序的cpu开销很高。singleton的唯一代价是在第一次调用中惰性地初始化对象一次 另一方面,单例模式通常被认为是一种不好的做法,因为静态访问对象是因为您引用的是单例类而不是实例引用。但使用单例当然比访问应用程序委托要好