Xcode'ta, "bir dize değişmezinin tanımlanamayan davranışı doğrudan karşılaştırması" hatası alıyorum ve bunu neden aldığımı biliyorum, ama var mı bir tuşa tıklayıp Xcode'u kaldırmam için bir yol var mı? Bunu söylüyorum çünkü uygulamamdaki 370 noktada aldım."Bir dize değişmezinin doğrudan karşılaştırması tanımlanmamış davranışa sahiptir" düzeltmesi otomatik olarak
8
A
cevap
13
Bu uyarıyı devre dışı bırakmak için clang seçeneği -Wno-objc-literal-compare
dur. Bununla birlikte, uyarılar bir sebepten dolayı vardır; Bunun nedeni, ==
'u kullanarak NSString edebi değerleriyle karşılaştırmanın beklediğiniz gibi davranması garanti edilmemesidir. Bunun yerine isEqual:
veya isEqualToString:
kullanın ve bu ikazdan kurtulabilirsiniz ve bunun daha sonra sizin için bir hataya dönüşmesini engelleyebilirsiniz.
İlgili konular
- 1. Bir dize değişmezinin adresini adresleme C
- 2. f # betiğinde C# kodu yürütme beklenmedik bir davranışa sahiptir
- 3. dize karşılaştırması kabuk betiğidir
- 4. php dize karşılaştırması beklenen sonuçlar
- 5. Dize Karşılaştırması, .NET ve bozulmasız alan
- 6. döküm dize doğrudan IDateTime
- 7. Dize karşılaştırması: operatör ==() vs Eşittir()
- 8. Dize dizisini ölçüt olarak VBA otomatik filtresi
- 9. Otomatik olarak 2 sütuna bölünecek dize
- 10. Karşılaştırmak için iki SVN düzeltmesi karşılaştır: 4
- 11. Büyük/küçük harf duyarsız dize karşılaştırması C++
- 12. Java Dize Karşılaştırması: stil seçimi veya optimizasyonu?
- 13. onclick işlevi otomatik olarak çalışır
- 14. Büyük/küçük harf duyarsız dize karşılaştırması
- 15. Python: __str__ davranışa döndür
- 16. , doğrudan
- 17. Accounts.createUser(), istemcide tanımlanmamış olarak döndürülüyor
- 18. DotNetZip otomatik çıkarıcıyı doğrudan Response.OutputStream'e kaydeder
- 19. bir liste kutusu bir ScrollViewer özelliğine sahiptir wpf olarak wpf
- 20. Python - UnicodeEncodeError Düzeltmesi?
- 21. CSS div düzeni düzeltmesi
- 22. Python3 modülündeki bileşen düzeltmesi
- 23. '==' kullanarak PHP string karşılaştırması
- 24. Bir kurucu tanımsız davranışa bir üye işlevi olarak bir üye işlevi kullanıyor mu?
- 25. onActivityResult() bir Etkinlik bittikten sonra null olarak Niyet verisine sahiptir
- 26. Karakter dizisi olarak dize getirme
- 27. C# ile joker karakterle dize karşılaştırması nasıl yapılır #
- 28. Otomatik olarak *
- 29. Matplotlib görüntüsünü dize olarak döndürme
- 30. pyspark düzeltmesi (5K sütuntan fazla)
Harika cevap. Her zaman 'isEqualToString' vs 'yi kullanın ==' –
Oh no; Xcode'un tüm bu hataları yerine getirmesini ve değiştirmesini istiyorum, sadece bunu yapmak zorunda değilim. – Someone
Tek bir tıklatma "bu uyarıya neden olan tüm şeyleri düzelt" yoktur, ancak iyi hazırlanmış düzenli bir ifade, basit bir bulma/değiştirme işini yapabilir. – rickster