Wszystkie moje wywołania NSLocalizedString mają zero jako drugi parametr, ponieważ nie używam żadnych komentarzy. Ale nienawidzę się powtarzać. Teraz pytam siebie, czy można zdefiniować makro takie jak LSSTRING (str), które wywołuje NSLocalizedString (str, zero), a jeśli tak, to w jaki sposób?Makro dla NSLocalizedString
5
A
Odpowiedz
10
Możesz. Dodaj następujące makro do wstępnie skompilowanego nagłówka. tj. w {Nazwa_projektu} -Prefix.pch pliku
#define LSSTRING(str) NSLocalizedString(str, nil)
2
im przy
#define _(format, ...) [[NSBundle mainBundle] localizedStringForKey: [NSString stringWithFormat:@"%@", [NSString stringWithFormat:format, ##__VA_ARGS__]] value:@"" table:nil]
+1
Dlaczego pierwszy' stringWithFormat: '? –
Powiązane problemy
- 1. IBInspectable i NSLocalizedString
- 2. użyciu nsattributedstring i nslocalizedstring
- 3. NSLocalizedString z formatem
- 4. NSLocalizedString ze zmiennymi Swift
- 5. NSLocalizedString - Wykorzystanie nierejestrowanej identyfikatora emisji
- 6. Automatyczne przekształcanie NSString w NSLocalizedString?
- 7. Jaki jest drugi parametr NSLocalizedString()?
- 8. zależny makro makro
- 9. iOS - NSLocalizedString zwraca tylko ciąg klucza
- 10. NSLocalizedString ładuje łańcuch czasami, nie zawsze
- 11. Jak zdefiniować makro julia, które definiuje makro?
- 12. C makro: kontrola #if dla równości
- 13. Zdefiniuj makro dla UIFont nie działa
- 14. Wspólne makro długości tablicy dla C?
- 15. Preprocesor C: makro i makro makra stringi
- 16. Makro kompilatora CUDA (nvcc)
- 17. C++ 11 predefiniowane makro
- 18. "z" makro w C
- 19. Bezpieczne jest równe makro?
- 20. Pisanie makro w Perlu
- 21. pomaga zrozumieć makro
- 22. Analizowanie makro argumenty Clojure
- 23. Co to makro definiuje?
- 24. Definiowanie własnego makro odczytu
- 25. Menu makro IntelliJ
- 26. C++ szablonu makro skrót
- 27. definicja container_of makro
- 28. C makro/# zdefiniować wcięcie?
- 29. Problem makro Clojure
- 30. Clojure var definiując makro
Jeden problem z tym podejściem jest to, że genstrings spodziewa się znaleźć ciąg za komentarz i daje błąd jak this: 'Zły wpis w pliku ... (linia = #): Argument nie jest literalnym łańcuchem. –
W Xcode, po prostu znajdź/zamień w ten sposób: Znajdź: LSSTRING \ ((@ \" \ w + \ ") \) Zastąp: NSLocalizedString \ (\ 1, \ 1 \) – Damon