郵件功能也許沒有太多需要說的,這裡要說的是有關郵件功能涉及到的一些細節問題。先看一段**:
- (void)launchmailcomposer:(uibutton *)sender
[self presentmodalviewcontroller:composer animated:yes];
[composer release];}
上面的**本身並沒有什麼問題,在通常來說也不會有什麼問題,但是做乙個有趣的操作,把所有的預設設定好的郵箱都刪除,奇怪的事情出現了,如果僅僅是上面的方式來設定郵件功能回導致程式崩潰。認真除錯,怎麼會初始化失敗呢?原來,忘記了是否能傳送郵件。那麼我們在看如下的**:
- (void)launchmailcomposer:(uibutton *)sender
mfmailcomposeviewcontroller *composer = [[mfmailcomposeviewcontroller alloc] init];
//composer = [composer init];
nslog(@"composer description:%@",[composer description]);
composer.mailcomposedelegate = self;
//nsarray *torecipients = nil;
// nsarray *ccrecipients = nil;
// nsarray *bccrecipients = nil;
// [composer settorecipients:torecipients];
// [composer setccrecipients:ccrecipients];
// [composer setbccrecipients:bccrecipients];
nsstring *body = [nsstring stringwithformat:@"", url];
//nsstring *body = @"";
[composer setmessagebody:body ishtml:yes];
if (nil == composer)
[self presentmodalviewcontroller:composer animated:yes];
[composer release];}
其實就只是多了乙個判斷條件這樣就好了。可是我們如果想要在沒有設定郵件帳號的情況下進入到設定頁面呢?
那麼我們可以用如下方式:
這樣郵件功能就做好了。
關於郵件列表乙個問題的解釋
問題 在 exit mm 中為什麼要 atomic inc mm mm count 呢?並沒有對應的dec。解答 首先要明白,對於乙個可以被釋放記憶體的程序也就是說乙個擁有mm struct的程序來說,它的task struct中的mm欄位和active mm欄位是一樣的,這個在fork時,copy...
關於郵件列表乙個問題的解釋
問題 在 exit mm 中為什麼要 atomic inc mm mm count 呢?並沒有對應的dec。解答 首先要明白,對於乙個可以被釋放記憶體的程序也就是說乙個擁有mm struct的程序來說,它的task struct中的mm欄位和active mm欄位是一樣的,這個在fork時,copy...
關於類載入器的乙個應用測試
新建乙個web專案然後新建乙個servlet,在servet的doget方法中我們迴圈的遍歷出所有的類載入器 由低到高 classloader loader this.getclass getclassloader while loader null 接著將這個web專案部署到web應用伺服器上 t...