drawTimebar *drawView = [drawTimebarView initWithFrame:drawTimebarView.frame];
在iOS 4的工作就好了初始化,但隨着iOS 5的SDK發出警告:
不兼容指針類型用'UIView *'類型的表達式初始化'drawTimebar *'
爲什麼這個改變了,我能做些什麼來解決它?
drawTimebar *drawView = [drawTimebarView initWithFrame:drawTimebarView.frame];
在iOS 4的工作就好了初始化,但隨着iOS 5的SDK發出警告:
不兼容指針類型用'UIView *'類型的表達式初始化'drawTimebar *'
爲什麼這個改變了,我能做些什麼來解決它?
突出的一件事是,您聲明的變量爲drawTimebar
,但初始化和分配drawTimebarView
。
首先,班級名稱應始終以大寫後綴開頭併爲CamelCased。這有助於他人閱讀您的代碼,並幫助您跟蹤實例與類。
其次,你宣稱drawView
是drawTimeBar
一個實例(想必這是一類,所以它真的應該DrawTimeBar
)與該位
drawTimebar *drawView
然而,當你初始化指針,你是與此位
[drawTimebarView initWithFrame:drawTimebarView.frame];
創造
drawTimeBarView
實例(想必也是一類,因此應
DrawTimeBarView
)
的警告,讓您知道你是不一致的。我的猜測是,你的意思是你真的有
另一點是,'[drawTimebarView initWith ...]'有什麼問題,但究竟是什麼不明確。它可能是名稱錯誤的大類名稱,或者(可能)未分配的實例的無效初始化。要麼...? –
嗨PengOne,謝謝你的回答,但不幸的是它不工作。我會盡力解釋我在這裏做什麼。我使用了從互聯網上刮取的一些代碼,以便原諒任何錯誤或慣例錯誤。 drawTimeBarView是我父視圖中的UIView,drawTimeBar是這個視圖的類。我試圖初始化這個類,所以我可以在drawTimeBarView中繪製一些東西。它工作正常,但它只是給XCode這個錯誤。不太明白髮生了什麼問題。問候 – Ron
作爲一個方面說明,你的類名應該*總是*大寫。這是obj-c中的標準約定。 – logancautrell