2015-12-29 12 views
5

Potrzebuję do utrzymania danych w pamięci lokalnej przy użyciu AsyncStorage z kodu JS.Dostęp do AsyncStorage z kodu macierzystego

Chciałbym wiedzieć, czy istnieje sposób na dostęp do danych przechowywanych z AsyncStorage z natywnego kodu (Objective-C lub Java).

Dzięki!

+0

Jeśli/ktoś wciąż szuka tego. Sprawdź moją odpowiedź tutaj: https://stackoverflow.com/questions/37164887/can-i-access-data-stored-in-react-natives-asyncstorage-from-java-layer/47551790#47551790 –

Odpowiedz

1

Jeśli importujesz RCTAsyncLocalStorage.h można nazwać _getValueForKey: https://github.com/facebook/react-native/blob/master/React/Modules/RCTAsyncLocalStorage.m#L266

+0

Ponieważ '_getValueForKey' to prywatna metoda, którą próbowałem wywołać: '[asyncLocalStorage multiGet: @ [@" USER_MESSENGER_SESSION "] wywołanie zwrotne:^(NSArray * odpowiedź) { if ([liczba odpowiedzi]> 0) { NSDictionary * userMessengerSession = response [0 ]; jeśli (userMessengerSession) { [[SinchClientManager sharedManager] .sinchService logInUserWithId: userMessengerSession [@ "user"] [@ "id"]]; } } }]; 'Ale miałem SIGABRT –

+1

@JeanLebrument czy rozwiązałeś problem? – draw

+0

@draw Rozumiem, że tak się dzieje, ale w najlepszym wypadku jest to hacky: 'RCTAsyncLocalStorage * asyncLocalStorage = [[RCTAsyncLocalStorage alloc] init]; dispatch_async ([asyncLocalStorage methodQueue]^{ [asyncLocalStorage _ensureSetup]; NSDictionary * Err = [[NSDictionary Alloc] startowych]; NSString * val = [asyncLocalStorage _getValueForKey: @ "@ foobar" errorOut: &err]; if (err) { } }); ' –

Powiązane problemy