Ich möchte wissen, ob ich eine App-Delegate-Methode von einem anderen ViewController aufrufen kann. Wenn die App gestartet wird, wird die application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
i-Methode aufgerufen. Kann ich diese Methode ein zweites Mal von einem anderen View-Controller aus aufrufen?Rufen Sie App-Delegate-Methode von Ansicht Controller
Antwort
Nicht sicher, warum Sie dies tun möchten. Sie sollten wahrscheinlich nicht, aber für die Zwecke der hier die Frage zu beantworten ist:
// get a reference to the app delegate
let appDelegate: AppDelegate? = UIApplication.shared.delegate as? AppDelegate
// call didFinishLaunchWithOptions ... why?
appDelegate?.application(UIApplication.shared, didFinishLaunchingWithOptions: nil)
thahks für die Hilfe –
Kein Problem. Wenn Sie Zeit haben, erläutern Sie bitte, warum Sie diese Funktion zweimal aufrufen möchten. Lesen Sie auf jeden Fall den verlinkten Post von Ashish Kakkad. –
wenn App zuerst Mittagessen dann AGB zeigen, wenn Benutzer klicken Sie auf zustimmen, dann kann er nächste Anmeldung vc und kann sich anmelden, aber Benutzer klicken Sie auf Ablehnen-Taste dann rufen Sie nächste VC aber Benutzer drücken Sie Login sein geht zu AGB-Seite und Vereinbarung Bedingung –
Diese Methode wird nur einmal beim Start der App aufgerufen. Sie können nicht von ViewController. Erstellen Sie stattdessen eine benutzerdefinierte Methode in AppDelegete. und rufen Sie diese Methode von ViewController auf. Indem Objekt von AppDelegate abgerufen wird.
AppDelegate *appDel = (AppDelegate *)[UIApplication sharedApplication].delegate;
[appDel <Your method>];
Danke für Ihre Hilfe –
Es gibt eine fehlende '[' in Ihrer ersten Zeile. Ich denke, das ist die korrigierte Zeile? 'AppDelegate * appDel = [(AppDelegate *) [UIApplication sharedApplication] Delegat];' – Mymozaaa
In Swift 3.0 können Sie nennen als:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.anyAppDelegateInstaceMethod()
Konstrukteurs:
einen Konstruktor hinzufügen in AppDelegate Klasse am Ende des Code
Swift 3.x
class func shared() -> AppDelegate
{
return UIApplication.shared.delegate as! AppDelegate
}
Swift 2.x
func appDelegate() -> AppDelegate
{
return UIApplication.sharedApplication().delegate as! AppDelegate
}
und fügen Sie ein var ähnliche
var boolForFun = Bool()
Wie Referenz in der Klasse benutzen?
Methode
für schnellen 3x Zugang functins oder Variablen
AppDelegate.shared().boolForFun = true
für sonst
appDelegate().methodFoo()
Variable
appDelegate().foo
- 1. Rufen Sie Javascript von MVC-Controller-Aktion
- 2. Rufen Sie einen Controller aus einem anderen
- 3. Rufen Sie einen Controller aus einem anderen Controller
- 4. rufen Sie einen Controller in einem anderen Controller Angularjs
- 5. So rufen Sie jQuery ordnungsgemäß von einem AngularJS-Controller aus
- 6. Ember: Rufen Sie eine Komponente Aktion von einem Controller
- 7. rufen Sie eine Funktion von einem anderen Controller
- 8. Rufen Sie AngularJS RouteProvider Controller von Javascript window.open?
- 9. Rufen Sie eine Web-API von MVC-Controller (Cookie-Authentifizierung)
- 10. So rufen Sie den UINavigation Controller in Ziel c
- 11. Übergeben Sie HTML vom Controller zur Ansicht
- 12. Benutzerdefinierte Container Ansicht Controller
- 13. Push-View-Controller in modale Ansicht Controller-Ansicht
- 14. Swift2: Aktuelle Ansicht Controller beenden und neue Ansicht zeigen Controller
- 15. .NET MVC - Rufen Sie eine Controller-Aktion von einer anderen Controller-Aktion
- 16. So rufen Sie Methode von einem Controller zu einem anderen Controller appcelerator
- 17. AngularJS. So rufen Sie die Controller-Funktion von außerhalb der Controller-Komponente auf
- 18. Controller und vorherige Ansicht
- 19. Übergeben Sie Nachricht von Controller zu AJAX-Skript in Ansicht
- 20. Übergeben Sie Dropdown-Liste Werte von der Ansicht auf Controller
- 21. So rufen Sie die Funktion in einer Ansicht auf
- 22. So rufen Sie eine Controller-Methode aus Javascript
- 23. Rufen Sie externe API-Funktion vom Controller, LARAVEL 4
- 24. Wie Wert von Ansicht erhalten, Controller
- 25. Rufen Sie externe js Datei Funktion in eckigen js Controller
- 26. Rufen Sie die Angular Controller-Funktion vom Browser auf
- 27. Ajax Request - Rufen Sie verschiedene Methode auf Spring Controller
- 28. Schließen der Ansicht Controller von Speichern-Taste
- 29. JQuery mit Json zu rufen Controller/Aktion
- 30. wechselnde Ansicht von Controller löst keine Ansicht aktualisieren
Sie können, aber Sie sollten nicht –
können Sie mir zeigen, wie es geht ???/ –
Überprüfen Sie diese Erklärung: http://Stackoverflow.com/a/8569646/3202193 –