2016-01-22 26 views
13

Uygulamamda Swift ve Objective-C'de bir üçüncü taraf kitaplığı kullanılıyor. Hata ayıklayıcım Objective-C koduna girdiğinde, hata ayıklama konsolu Swift dizgimin değerlerini doğru göstermez. Bunun yerine, verileri okuyamıyor gösterir. Bu sorunu nasıl çözebiliriz? Eğer xcode 7.3 kullanıyorsanızHata ayıklama konsolu Swift + Objective-C için değerleri göstermiyor

enter image description here

+0

Swift'de dizeler oluşturduğumda, her zaman '(String)' olarak görünürler - bu nedenle, sorun '' (Swift._NSContiguousString) 'ile ilgili olabilir. Belki onu bir String'e dönüştürmelisin? Bununla ilgili sorunları Parse ile gördüm, Parse kullanıyor musunuz? – Mike

+0

@Mike Auth0 kullanıyorum. e-posta ve kullanıcı adı Dize olarak bildirildi. – Boon

cevap

3

Eğer objektif c sınıfı için debug hızlı sınıflar ancak xcode az 7.3 hata. Hem hızlı hem de nesnel c desteği yoktur. Bu objektif c değişkenlerini yapıştırın ve objektif c değişkenlerini "po objectC_variable" ile yazdırabilirsiniz.

0

Swift'de objektif C kitaplığını kullanmak için nesnel C köprüleme üstbilgisini de kullanıyor olabilirsiniz. Ben hem e-posta hem de şifre Swift._NSContiguousString olarak gösterildiğini görüyorum.Ve kütüphaneniz için yaptığınız köprüleme başlığı bir sorun veriyor ya da değil, düzgün yürütüyor olabilir, bu durumda olabilir. Çünkü köprüleme çalışıyorsa, o zaman Swift._NSContiguousString "NSString" olarak kabul edilirdi ve bunu basitçe "String" olarak dönüştürebilirdi. Bu bridging başlığını kontrol edebilir.

0

baskı zamanı değeriyle için lldb üzerinde po {{variable_name}} kullanabilir ve aynı zamanda belirlenen yeni değer için baskı için e {{variable_name}} ve e {{variable_name}} = {{value}} kullanabilirsiniz.

dikkat: Eğer po otomatik tamamlama çalışmalarımızı kullandığında, ancak kullanım e otomatik tamamlama çalışmadığında.

İlgili konular