iphone iPhone開發應用點滴學習

2021-09-08 02:26:20 字數 2606 閱讀 9958

1:原文摘自:

iphone開發點滴是本文要介紹的內容,主要介紹的是iphone開發中常用的一些小例項,在這作為乙個小備忘來學習。先來看詳細內容。

iphone中的拉伸/圓角處理(image round corner, aspect fit)

圓角 image round corner:

m_mainim**iew.layer.cornerradius= 6

;  m_mainim**iew.layer.maskstobounds

= yes

; 自動適應,保持寬高比 aspect fit:

m_mainim**iew.contentmode

= uiviewcontentmodescaleaspectfit

;拉伸 iphone

uiimage *

btnimage

= [uiimage imagenamed:@"btn_normal"];  

cgfloat 

capwidth

= btnimage

.size.width / 2;  

cgfloat 

capheight

= btnimage

.size.height / 2;  

btnimage

= [btnimage stretchableimagewithleftcapwidth:capwidth topcapheight:capheight]; 

型別轉換將nsstring 轉 nsdata

nsstring* 

str= @"teststring";nsdata* 

data

=[str datausingencoding:nsutf8stringencoding];  

由init、loadview、viewdidload、viewdidunload、dealloc的關係說起

init方法

在init方法中例項化必要的物件(遵從lazyload思想)

init方法中初始化viewcontroller本身

loadview方法

當view需要被展示而它卻是nil時,viewcontroller會呼叫該方法。不要直接呼叫該方法。

如果手工維護views,必須過載重寫該方 法

如果使用ib維護views,必須不能重載重 寫該方法

loadview和ib構建view

viewdidload方法

過載重寫該方法以進一步定製view

在iphone os 3.0及之後的版本中,還應該過載重寫viewdidunload來釋放對view的任何索引

viewdidload後呼叫資料model

viewdidunload方法

當系統記憶體吃緊的時候會呼叫該方法(注:viewcontroller沒有被dealloc)

記憶體吃緊時,在iphone os 3.0之前didreceivememorywarning是釋放無用記憶體的唯一方式,但是os 3.0及以後viewdidunload方法是更好的方式

在該方法中將所有iboutlet(無論是property還是例項變數)置為nil(系統release view時已經將其release掉了)

在該方法中釋放其他與view有關的物件、其他在執行時建立(但非系統必須)的物件、在viewdidload中被建立的物件、快取資料等

release物件後,將物件置為nil(iboutlet只需要將其置為nil,系統release view時已經將其release掉了)

一般認為viewdidunload是viewdidload的映象,因為當view被重新請求時,viewdidload還會重新被執行

viewdidunload中被release的物件必須是很容易被重新建立的物件(比如在viewdidload或其他方法中建立的物件),不要release使用者資料或其他很難被重新建立的物件

dealloc方法

viewdidunload和dealloc方法沒有關聯,dealloc還是繼續做它該做的事情

舉例: lyttzx.com

- (void)viewdidunload    

[super dealloc];  

} 預設release view的方法是didreceivememorywarning,這個方法會檢測能否安全的release這個控制器的view,如果可以安全 release view的時候,releae之,然後才會去呼叫viewdidunload。

如果當前顯示的控制器收到了memory warning,呼叫didreceivememorywarning,但這時並不能release 當前控制器的view,所以就不會呼叫viewdidunload了。

小結:iphone應用開發點滴學習的內容介紹完了,希望通過本文的學習對你有所幫助,你也可以作為備忘去學習!

iphone iPhone開源專案彙總(更新版)

掃瞄wifi資訊 條形碼掃瞄 tcp ip的通訊協議 voip sip three20 google gdata 720全景顯示panoramagl jabber client plblocks image processing json 編碼解碼 base64 編碼解碼 xml解析 安全儲存使用者...

IPhone IPhone文章條列及鏈結

xcode how to create a xcode project template 如何建立xcode的專案樣板 iphone post to twitter 如何用 推送訊息到twitter iphone send sms sample with iphone 如何利用 傳送sms ipho...

使用UIWebView開發hybrid應用(二)

使用uiwebview開發hybrid應用 一 hybrid應用中,快取處理是比較棘手的。objective c有快取的類nsurlcache,官方給出的解釋是 it provides a composite in memory and on disk cache。也就是說,當應用關閉後,快取就失效...