Closed
Description
Return _SwiftValue Type In OC
My project language is OC, when I implement this method as bellow, I find ret is a _SwiftValue type and can`t use isEqualToString method. My doubt is that this lib support OC, but why i get a _SwiftValue type value in callback block? Please provide some ideas or reference links.
[socket on:@"statusChange" callback:^(NSArray * _Nonnull arr, SocketAckEmitter * _Nonnull ack) {
id ret = [arr firstObject];// when i make a break here,I find ret is _SwiftValue. and it`s _SwfitValue type
if ([ret isEqualToString:@"connecting"]) {
//do something usefull;
}
}];
Connecting,connect ....and other connect event not trigger
[socket on:@"connecting" callback:^(NSArray * _Nonnull arr, SocketAckEmitter * _Nonnull ack) {
//do something.....
}];
[socket on:@"connect" callback:^(NSArray * _Nonnull arr, SocketAckEmitter * _Nonnull ack) {
//do something.....
}];
I find that connecting, connected... and other connect status event not trigger, but statusChange event is trriger. this doubt me. and this is my code as bellow
- (void)config {
NSURL* url = [[NSURL alloc] initWithString:SOCKETIOADDR];
NSDictionary *config = @{@"log":@YES};
SocketManager* manager = [[SocketManager alloc] initWithSocketURL:url config:config];
SocketIOClient* socket = manager.defaultSocket;
_manager = manager;
_socket = socket;
/*event type(may error)
case .connected: return "connected"
case .connecting: return "connecting"
case .disconnected: return "disconnected"
case .notConnected: return "notConnected"
*/
[socket on:@"connecting" callback:^(NSArray * _Nonnull arr, SocketAckEmitter * _Nonnull ack) {
// when socket is connecting this method not call. the same as connected, disconnected event
}];
[socket on:@"statusChange" callback:^(NSArray * _Nonnull arr, SocketAckEmitter * _Nonnull ack) { //when connect status is change, this method called.
id swiftValue = [arr firstObject];
NSString *statusStr = swiftValue;
if ([statusStr isEqualToString:@"connecting"]) {
}
NSLog(@"---------------------- socket connect statusChange :%@",[arr firstObject]);
}];
}
- (void)open {
[_socket connect];
}
- (void)close {
[_socket disconnect];
[_manager disconnect];
}
I Integrate this lib use Pod. Thank you in advance..