首先給大家介紹loadNibNamed得作用,比如我們自己設計了一個view,並且在nib中指定了,那麼便可以通過下面得方法把
自己得View 給提取出來. NSArray中得元素是什麼? 大家雙擊xib文件中,裏面得元素會依次存儲在你得NSArray* nib數組中. NSArray* nib = [[NSBundle mainBundle] loadNibNamed/@"CustomCell" owner:self options:nil]; for(id item in nib) { if([is isKindOfClass:[youview class]]){ //找到了你自己需要得view } } 在這個時候生成後會讓引用計數器變爲1,但是需要注意得,owner:self ,在owner自己dealloc得時候,系統會自動幫你將你得youview得引用計數器-1得。 那麼引發了一個需要密切注意得問題:那麼也就是在你得dealloc得時候,你得視圖得引用計數值必須爲1。 舉個例子: NSMutaleArray* array = ....... //1 [array addObject:youview]; //2 [youview release];//1 那麼在你得 dealloc你肯定會這樣做: [array release];//這個時候,實際上你得youview的引用其實已經爲0了 //0 youview便會自動回收 但是這個時候,owner:self 系統又會自動幫你回收,但是實際上你的引用計數已經爲0了,所以就會出現異常了。 正常情況是,在addObject 後,不調用[youview release]就行了。 http://www.shouyanwang.org/thread-354-1-1.html |
iphone使用loadNibNamed載入view在…
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.