Powiedzmy chcę zrobićkomenda iOS LLDB za P nie drukuje zmienną ramki
p uiTextFieldObj.frame
powie błąd: nieruchomość
'frame' not found on object of type 'UITextField *'
Czy istnieją jakieś sztuczki można zrobić, więc mogę to pokazywać?
Powiedzmy chcę zrobićkomenda iOS LLDB za P nie drukuje zmienną ramki
p uiTextFieldObj.frame
powie błąd: nieruchomość
'frame' not found on object of type 'UITextField *'
Czy istnieją jakieś sztuczki można zrobić, więc mogę to pokazywać?
Można to zrobić:
p (CGRect)[uiTextFieldObj frame]
Od Xcode 4.5.2, właściwości drukowania w lldb używając składni kropka tylko wydaje się pracować dla właściwości obiektów zdefiniowanych w aplikacji, a nie do właściwości zdefiniowane przez ram klasy.
Możesz go wydrukować, wykonując notację [zamiast]. notacja:
Czy próbowałeś tego?
print (CGRect)[textfieldObj frame]
Bez (CGRect) Cast, to najprawdopodobniej wykazują błąd mówiąc, że nie wie, typ zwracany. Możesz także zrobić:
po textfieldObj
, który pokaże ramkę i kilka innych informacji o polu tekstowym. polecenie po debug wywoła obiekty - metodę opisową, którą możesz przesłonić, aby podać dowolne informacje.
Zobacz An @import-ant Change in Xcode
LLDB’s parser for Objective-C can now go through any module used in your app and determine the types used for all functions and methods it defines
e @import UIKit;
po uiTextFieldObj.frame
to co się dowiedziałem, że nie można nawet drukować ramkę za pomocą [] Metoda masz pokazane. Dlaczego jabłko to nam zrobiło? – mskw
Jeśli to, co pokazałem, nie działa, być może używasz wersji demonstracyjnej Xcode programisty. Spróbuj przełączyć się z powrotem do Xcode 4.5.2 i powinno działać. –
To nie działa dla mnie. –