Немного предыстории: я создаю приложение на языке React Native, которое использует библиотеку Objective C, написанную около 6 или 7 лет go, может быть, старше. Я пишу быстрый код, который был настроен для отправки обратных вызовов в собственное приложение React в JS. У меня есть эта функция, которую я пытаюсь использовать:
token = service.getUserToken(server,
port: P2PFunctions.tls_port,
appId: P2PFunctions.appID,
appSecret: P2PFunctions.appSecret,
phone: P2PFunctions.phone,
token: nil, errcode: errCode, errmsg: nil);
callback(["\(token!)"]);
И это ее определение:
- (NSInteger)getUserToken:(NSString*)ip_In port:(NSInteger)port_In appId:
(NSString*)appId_In appSecret:(NSString*)appSecret_In phone:
(NSString*)phoneNum_In token:(NSString**)accessTok_Out errcode:
(NSString**)strErrCode_Out errmsg:(NSString**)errMsg_Out;
Это те типы, которые я использую (EDIT: я изменил их из частного в publi c, и они все еще не распознаются):
Проблема в том, что я получаю ноль обратно из функция. Я считаю, что получаю пустой ответ HTTP, и я замечаю, что внутри отладчика, когда я перехожу к функции Objective C, я вижу nil для всех моих параметров внутри функции Objective C. Я думаю ... дело в том, что я не передаю правильный тип. Или мои параметры Swift не отображаются в памяти Objective C. Если ожидается (NSString *), следует ли передавать строку?
Как передать правильные типы из Swift в Objective C? Что бы я изменил в вызове функции? Мои типы параметров в порядке? Я не могу редактировать исходную библиотеку Objective C. У них общая память для всех переменных во всей программе, не так ли?
Большое вам спасибо!