Wie können Sie überprüfen, ob eine Konstante zur Laufzeit gesetzt ist? In iOS 4 ist beispielsweise UIApplicationDidEnterBackgroundNotification verfügbar. Wenn Sie jedoch unter iOS 3 ausgeführt wird, tritt bei der Verwendung ein Fehler auf.iPhone, auf Vorhandensein von Konstante prüfen
6
A
Antwort
12
Sie sollten wahrscheinlich auf this other question aussehen, was meiner Meinung nach beantwortet Ihnen auch. if (&UIApplicationWillEnterForegroundNotification != NULL)
sollte dynamic-linking-safe sein und Ihnen sagen, ob die Konstante existiert oder nicht.
Verwandte Themen
- 1. Mit Jekyll auf Vorhandensein von Datei prüfen
- 2. Auf das Vorhandensein einer Unterliste prüfen
- 3. Vor dem Ablegen auf Vorhandensein der Tabelle prüfen?
- 4. Konstante kCGColors auf dem iPhone veraltet?
- 5. Was ist besser? Wählen Sie 1 oder wählen Sie *, um das Vorhandensein von Datensätzen zu prüfen.
- 6. Cocos2d - Mac: Auf Tastaturereignisse prüfen?
- 7. Konstante Zeiger vs Zeiger auf konstante
- 8. Online-Status von einer iPhone Web App aus prüfen
- 9. So überprüfen Sie das Vorhandensein von Objekten in einem Array
- 10. Vorhandensein von xsd Link überschreiben xslt
- 11. Laufzeit auf Glühlampen prüfen?
- 12. Definiere Konstante basierend auf dem Gerätetyp
- 13. Auf atomaren Kontext prüfen
- 14. Auf PHP-Syntaxfehler prüfen?
- 15. Auf gültige IMEI prüfen
- 16. Prüfen auf inkonsistente Werte innerhalb von Gruppen
- 17. Vorhandensein optionaler abgeleiteter Datentyp-Komponenten
- 18. Auf symbolische Verbindung prüfen
- 19. Auf IP-Gültigkeit prüfen
- 20. Auf doppelten Wert prüfen
- 21. Auf ungültige Eingabe prüfen
- 22. Datenbank auf Duplikate prüfen
- 23. Array auf Duplikate prüfen
- 24. Dateien auf Gleichheit prüfen
- 25. Android: Auf Sonderzeichen prüfen
- 26. Auf binäre Stringlänge prüfen?
- 27. Verwendung von undefined Konstante
- 28. Erreichbarkeit der sicheren Verbindung auf einem benutzerdefinierten Port auf dem iPhone prüfen?
- 29. Zeiger auf konstante Elementfunktion typedef
- 30. Zeiger auf eine konstante Elementvariable
Wenn Sie LLVM verwenden, müssen Sie einige Tricks, um es nicht Ihre if-Anweisung zu erhalten optomize aus. Das funktioniert für mich. BOOL backgroundOK = & UIApplicationDidEnterBackgroundNotification! = NULL; if (backgroundOK) { [[NSNotificationCenter defaultCenter] addObserver: Selbstwähler: @selector (applicationDidEnterBackground :) Name: UIApplicationDidEnterBackgroundNotification bject: nil]; } –
Wurde dieser Optimierungsfehler bereits im LLVM/Clang-Compiler behoben? In welcher Version? –
Es ist kein Fehler in LLVM, aber eine Funktion. LLVM wird Aussagen ohne Nebeneffekt optimieren und es ist gut. Aber es macht Sachen für diese Art von Code etwas härter. – Romain