Ho bisogno di passare una stringa dal delegato App al mio controller di visualizzazione iniziale, Qualcuno mi ha elencato il modo migliore per farlo, inoltre ho provato a salvare e recuperare utilizzando i valori predefiniti dell'utente NS, ma non ho funzionato correttamente.Passaggio dei dati dall'app delegato a View Controller
risposta
Interfaccia:
@interface MyAppDelegate : NSObject {
NSString *myString;
}
@property (nonatomic, retain) NSString *myString;
...
@end
e nel file .m per l'App Delegato si può scrivere:
@implementation MyAppDelegate
@synthesize myString;
myString = some string;
@end
Poi, nel file di viewcontroller.m è possibile recuperare:
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
someString = appDelegate.myString; //..to read
appDelegate.myString = some NSString; //..to write
Questo post mi ha appena salvato la giornata. Grazie mille amico. – Avijit
La tua risposta dovrebbe contenere le lettere maiuscole: "Il mio metodo è pericoloso e cattiva pratica, perché rompe l'incapsulamento e crea uno stato globale". –
È possibile accedere al controller della vista radice in questo modo da e app delegato:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
MyViewController* mainController = (MyViewController*) self.window.rootViewController;
[mainController passData:@"hello"];
return YES;
}
Qui lo è per Swift:
View Controller
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
Inoltre, se si dispone di un oggetto che si desidera passare tra i controller di vista (ad esempio , Avevo dati CloudKit che volevo condividere) aggiungi questo al delegatario dell'app :
/* Function for any view controller to grab the instantiated CloudDataObject */
func getCloudData() ->CloudData{
return cloudDataObject
}
Poi di nuovo nel View Controller
var model : CloudData = self.appDelegate.getCloudData()
- 1. Passaggio dei dati dal controller per visualizzare in Laravel
- 2. Laravel: passaggio di dati a default.blade.php dal controller di base
- 3. Codeigniter: passaggio dati dal controller per visualizzare
- 4. ASP.NET MVC Passaggio dei dati dalla vista al controller
- 5. Passaggio dei dati dai controller di vista Xcode
- 6. Passaggio di dati tra 2 UIViewController utilizzando delegato e protocollo
- 7. passaggio di dati dal controller a Type symfony2
- 8. Condividere NSOperationQueue su View Controller?
- 9. Passaggio dei dati ai componenti in vue.js
- 10. CakePHP: passaggio di $ this-> dati alla vista dal controller
- 11. Aggiungere View Controller bambino a UINavigationController
- 12. Passare i dati da View Controller a Controller bambino in Swift
- 13. Present modal View Controller dall'interno Popover View
- 14. segue: destinazione View Controller stranezza
- 15. Push View Controller, Black Screen
- 16. Rapido Passaggio dei dati da appDelegate a un'altra classe
- 17. MVC3 - Passaggio dei dati oltre il modello a Vista parziale
- 18. CodeIgniter Passaggio dei dati POST da RestClient a RestServer API
- 19. Passaggio dei dati dalla classe PHP a PHPExcel tramite AJAX
- 20. Passaggio di dati tra controller di interfaccia in WatchKit
- 21. Angolare 2: passaggio dei dati alle rotte?
- 22. Model-View-Controller in JavaScript
- 23. Rinominare/refactoring una View Controller
- 24. Swift: Come dovrebbe il Delegato app avere un riferimento al View Controller?
- 25. passa il modello da view a controller con html.actionlink
- 26. React-router: passaggio dei dati attraverso i percorsi
- 27. Rasoio ASP.NET MVC 3: passaggio dei dati dalla vista al controller
- 28. Pop 2 view controller in Nav Controller in Swift
- 29. Passaggio rapido dei dati tra i controller visualizzati in una scheda?
- 30. Passaggio delegato come parametro del metodo
non è per qualche ragione. Il motivo è abbastanza esplicito in quanto lo scopo del delegato dell'app è di rispondere alle modifiche nello stato dell'app. Usarlo come una discarica per dati e costanti è una cattiva forma e porta ad una dipendenza da un oggetto che non è un cittadino contribuente nel paradigma MVC. – Tyten