Я надеюсь, что кто-то может помочь.
Я пишу плагин Cordova в objC для подключения к платформе IOT, которая называется gizwits.
Я пытаюсь объявить переменную extern в файле .h, затем присвоить значение в одном методе .m, а затем, наконец, вызвать это значение в другом методе. Но когда я вызываю значение в последнем методе, я всегда получаю нулевое значение.
.h файл
extern NSString *const uid;
extern NSString *const token;
.m файл
- (void)pushSSID:(CDVInvokedUrlCommand*)command
{
NSString* ssid = [command.arguments objectAtIndex:0];
NSString* key = [command.arguments objectAtIndex:1];
NSString *const uid = [command.arguments objectAtIndex:2];
NSString *const token= [command.arguments objectAtIndex:3];
NSLog(@"%@", uid);//this displays my uid
NSLog(@"%@", token); //this displays my token
обратный вызов
-(NSString *)wifiSDK:(GizWifiSDK *)wifiSDK
didSetDeviceOnboarding:(NSError *)result
mac:(NSString *)mac
did:(NSString *)did
productKey:(NSString *)productKey {
NSLog(@"%@", uid); // always null
NSLog(@"%@", token); // always null
Обратный вызов всегда возвращает нуль для идентификатора пользователя и токена. Функция обратного вызова запускается только тогда, когда значение уже установлено в методе pushSSID.
Если у кого-нибудь есть предложения, я буду очень благодарен. Спасибо