싱글 톤을 사용하여 글로벌 소켓을 만듭니다. 앱이 시작되면 호스트 소켓 연결에 사용되는 코드를 입력하라는 메시지가 표시됩니다. 뷰 컨트롤러에서 데이터 문자열을 싱글 톤으로 전달하여 URL로 사용하려면 어떻게해야합니까? 이것이 내가 싱글 톤을 설정 한 방법입니다.소켓에 싱글 톤을 사용하면서 사용자 입력 호스트를 소켓에 추가하기
+ (SocketKeeperSingleton *) sharedInstance {
static dispatch_once_t _once;
static SocketKeeperSingleton *sharedSingleton = nil;
dispatch_once(&_once, ^{
sharedSingleton = [[SocketKeeperSingleton alloc] init];
[sharedSingleton initSIOSocket];
});
return sharedSingleton;
}
-(void) initSIOSocket {
[SIOSocket socketWithHost:@"http://localhost:8080" response:^(SIOSocket *socket) {
self.socket = socket;
[self.socket on:@"q_update_B" callback:^(NSArray *args) {
NSArray *tracks = [args objectAtIndex:0];
self.setListTracks = tracks;
[[NSNotificationCenter defaultCenter] postNotificationName:@"qUpdateB" object:nil];
}];
[self.socket on:@"current_artist_B" callback:^(NSArray *args) {
self.currentArtist = [args objectAtIndex:0];
[[NSNotificationCenter defaultCenter] postNotificationName:@"currentArtistB" object:nil];
}];
}];
}
자세한 정보를 제공해 주시겠습니까? 사용자가 데이터를 입력 할 때 이미 싱글 톤이 생성되어 사용되고 있었습니까? – Brain89
아니요, 왜냐하면 사용자의 호스트 문자열을 가지고 있기 때문에 [SocketKeeperSingleton sharedInstance]를 호출해야하기 때문에, 사용자가 입력 한 호스트 문자열이 그 싱글 톤을 만드는 메소드에 필요하기 때문입니다. @ Brain89 – Andy
답변보기 그것을 유용하게 쓸 수 있습니다 – Brain89