Ho bisogno di memorizzare circa 5 variabili sull'estensione WatchKit - Solo lato dell'orologio. L'app sarà completamente nativa, senza passare alcuna informazione su iPhone. Ho bisogno che i dati persistano se l'orologio viene riavviato. Al momento del riavvio, l'app si reimposta allo stato di variabile predefinito. Non sono sicuro di cosa usare. Ho trovato informazioni online sull'uso del portachiavi dell'orologio per la memorizzazione di coppie di dati valore-chiave (nome utente/password), ma non penso che sia quello che dovrei usare qui. Apprezzo l'aiuto.Guarda OS 2: come memorizzano i dati su Watch per l'app completamente nativa?
6
A
risposta
5
watchOS 2 ha accesso a CoreData, NSCoding e NSUserDefaults. Dipende dai dati che si desidera memorizzare, ma quelli sono le opzioni migliori (prima parte).
Se si intende utilizzare NSUserDefaults, non utilizzare standardUserDefaults
, è necessario utilizzare initWithSuiteName:
e passare il nome del gruppo di app.
È possibile anche creare una categoria/estensione su NSUserDefaults per semplificare l'operazione.
Objective-C
@interface NSUserDefaults (AppGroup)
+ (instancetype)appGroupDefaults;
@end
@implementation NSUserDefaults (AppGroup)
+ (instancetype)appGroupDefaults {
static NSUserDefaults *appGroupDefaults = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
appGroupDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.whatever.yourappgroupname"];
});
return appGroupDefaults;
}
@end
Swift
private var _appGroupDefaults = NSUserDefaults(suiteName: "com.whatever.yourappgroupname")!
extension NSUserDefaults {
public func appGroupDefaults() -> NSUserDefaults {
return _appGroupDefaults
}
}
Problemi correlati
- 1. Come grunt guarda i file nelle sottocartelle?
- 2. Come fare riferimento a framework non supportati in Watch OS 2
- 3. Ottenere dati server per Apple Watch
- 4. Come eseguire Gulp-Watch su più file?
- 5. NSFetchResultController per mostrare i record su un Apple Watch?
- 6. memorizzano le immagini nella banca dati o su file system
- 7. angularfireCollection: sapere quando i dati sono completamente caricati
- 8. Guarda per i file di progetto anche
- 9. In che modo i browser memorizzano i dati per il completamento automatico e dove?
- 10. Come si memorizzano gli ordini?
- 11. Dove NSUserDefaults memorizza i dati su Mac OS X?
- 12. Macro preprocessore per Apple Watch?
- 13. Completamente disinstallare/ripristinare Textmate 2
- 14. $ guarda all'interno di un servizio?
- 15. Java consente di utilizzare i widget della UI nativa su Mac OS X?
- 16. Impossibile caricare la libreria hadoop nativa per Mac OS X
- 17. Come si memorizzano i dati inviati alle proprietà calcolate in un'estensione di protocollo?
- 18. Come trovare tutte le installazioni python su mac os x e disinstallare tutto tranne l'installazione nativa di OS X
- 19. Immagini non visualizzate su Apple Watch
- 20. Come si memorizzano i file sul sito Web Windows Azure?
- 21. Direttiva AngularJs che guarda dati asincroni
- 22. Utilizzo di $ watch per aggiornare i dati, ng-repeat non riflette i cambiamenti
- 23. Come raggruppare i dati in Angular 2?
- 24. Come si memorizzano i risultati di questa funzione ricorsiva?
- 25. Come scrivere una GUI Mac OS X nativa con Rust?
- 26. Come posso utilizzare "watch" GDB?
- 27. Angolare: Watch Service per le modifiche dei dati?
- 28. Vantaggio dei dati di schemi che memorizzano i dati memorizzati con lo schema
- 29. Come mostrare avviso su Apple Watch
- 30. Come ottenere Apple Watch UDID senza XCode?
io non stavo avendo fortuna con NSUserDefaults. Ne risultò con la ruota che gira all'infinito. Ho implementato i gruppi di app, che potrebbe essere stato il problema. Sto solo cercando di memorizzare semplici variabili int ... come ho detto, circa 5 di loro e voglio che l'app sia completamente nativa, senza bisogno di recuperare alcun dato da iPhone. – mackymoo
Dovresti usare 'initWithSuiteName:' e inserire il nome del tuo gruppo di app. Aggiornerò la mia risposta – Lance
Grazie. Ci proverò stasera. :) – mackymoo