2013-06-04 11 views
22

Jestem debugowania kodu i próbuje dowiedzieć się, rozmiar widoku za pomocą tego:błąd: własność „rama” nie znaleziono obiektu typu „UIView *”

p view.frame.size.height 

ale Dostaję ten błąd:

błąd: własność „rama” nie znaleziono obiektu typu „UIView *” błędu: 1 błędy parsowania wyrażenie

ktoś z was wie dlaczego i jak można debugować rozmiar moim zdaniem?

+0

Myślę, że nie można używać takiej notacji kropek w konsoli, możesz spróbować tego, myślę, że to zadziała: '[[[[self view] frame] size] height]' – limon

+0

Myślę, że możesz użyć NSLog zamiast tego - NSLog (@ "Wysokość ramki:% f", view.frame.size.height); – John

Odpowiedz

46

Spróbuj

p (CGRect)[view frame] 

Alternatywny dostać ramkę widoku:

po view 
+1

Otrzymuję ten błąd: błąd: wykonanie zostało przerwane, powód: EXC_BAD_ACCESS (kod = 2, adres = 0x65). Proces został przywrócony do stanu przed wykonaniem. – HelenaM

+1

Nie rozumiem dlaczego LLDB nie rozpoznaje składni ... – tounaobun

+0

Mam EXC_BAD_ACCESS, ponieważ wywołałem ramki na niewłaściwy obiekt. Zamiast: p (CGRect) [ramka myviewcontroller] powinna być p (CGRect) [[myviewcontroller view] frame] – Avner

-2

miałem ten sam problem i rozwiązać go. Twoja klasa może zostać odziedziczona po "UIViewController". Musi być dziedziczone z "UIView", aby utworzyć w nim obiekt ramowy.

3

powinna mieć zewnętrzną wspornik w pierwszej odpowiedzi, na przykład:

p ((CGRect)[cell frame]) 

wyjściowa:

(CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44) 
41

jeśli nienawidzisz typecasting za każdym razem, możesz spróbować tego:

(lldb) expr @import UIKit 
(lldb) po self.view.bounds 

Ponieważ Xcode7.2 jest już dostępny, myślę, że powinniśmy zaktualizować odpowiedź.
znajdę odpowiedź tutaj Why can't LLDB print view.bounds?

0

Dodaj plik PCH, dodać te linie kodu do pliku:

#ifndef PrefixHeader_pch 
#define PrefixHeader_pch 

#ifdef __OBJC__ 
#import <UIKit/UIKit.h> 
#endif 

#endif /* PrefixHeader_pch */  

Następny, odwołuje się plik PCH do projektu:

enter image description here

Uruchom ponownie aplikację, wtedy powinieneś być w stanie używać notacji kropek w konsoli lldb:

(lldb) po self.view.bounds  

Na jak dodać plik PCH, patrz odpowiedź tutaj PCH File in Xcode 6

2

Spróbuj tego,

po view.layer.frame.size.height 
-1

Wydaje się, że nie możemy używać notacji kropki w konsoli, spróbuj użyć dostać metody.

Powiązane problemy