2015-12-29 18 views
5

Ho bisogno di mantenere i dati nella memoria locale utilizzando AsyncStorage dal codice JS.Access AsyncStorage dal codice nativo

Vorrei sapere se esiste un modo per accedere ai dati archiviati da AsyncStorage dal codice nativo (Objective-C o Java).

Grazie!

+0

Se si/qualcuno sta ancora cercando questo. Controlla la mia risposta qui: https://stackoverflow.com/questions/37164887/can-i-access-data-stored-in-react-natives-asyncstorage-from-java-layer/47551790#47551790 –

risposta

1

Se si importa RCTAsyncLocalStorage.h, è possibile chiamare _getValueForKey: https://github.com/facebook/react-native/blob/master/React/Modules/RCTAsyncLocalStorage.m#L266

+0

Perché '_getValueForKey' è un metodo privato, ho provato a chiamare: '[asyncLocalStorage multiGet: @ [@" USER_MESSENGER_SESSION "] callback:^(risposta NSArray *) { if ([numero di risposte]> 0) { NSDictionary * userMessengerSession = risposta [0 ]; if (userMessengerSession) { [[SinchClientManager sharedManager] .sinchService logInUserWithId: userMessengerSession [@ "user"] [@ "id"]]; } } }]; 'Ma ho avuto un SIGABRT –

+1

@JeanLebrument hai risolto il problema? – draw

+0

@draw L'ho ottenuto in questo modo, ma nel migliore dei casi è hacky: 'RCTAsyncLocalStorage * asyncLocalStorage = [[RCTAsyncLocalStorage alloc] init]; dispatch_async ([asyncLocalStorage methodQueue],^{ [asyncLocalStorage _ensureSetup]; NSDictionary * err = [[NSDictionary alloc] init]; NSString * val = [asyncLocalStorage _getValueForKey: @ "@ foobar" errorOut: &err]; if (err) { } }); ' –