2013-07-22 16 views
0

裏面我MailComposeViewController我有這行代碼告訴什麼對象需要是視圖:MailComposer主題

[mailer setSubject: _mailSubject]; 

_MailSubject是的UITextField的名字,當然SETSUBJECT被告訴的UITextField是主題。我的問題是,每次我將主題輸入到UITextField並按下我的撰寫按鈕時,應用程序都會崩潰。我知道它不是MailComposerViewController,因爲我可以在我的電子郵件正文中輸入UITextField,而不會崩潰。以下是旁邊顯示的警告:

Incompatible pointer types sending 'UITextField'*_strong to parameter of type 'NSString*' 

有人知道我在做什麼錯嗎?

+0

你最有可能得到一個編譯器警告。不要忽略編譯器警告。這樣做通常會導致運行時崩潰。 – rmaddy

+0

你不明白,你不能只是發送一個任意對象作爲參數 - 它必須是正確的類型。您正在向需要NSString的方法發送UITextField。從一開始就沒有認識到這一點太糟糕了,但是當你遇到錯誤時,你應該諮詢MailComposeViewController規範,認識到你需要一個NSString,然後查閱UITextField規範來弄清楚如何獲得這個NSString。你不應該爲這個簡單的問題尋求幫助。 –

+0

現在我明白了。我對可可並不是很擅長,並且正在從實驗和文檔中學習。我忘了補充一點。謝謝您的幫助! –

回答

0

你需要得到從文本字段:

[mailer setSubject:_mailSubject.text]; 
+0

謝謝!我應該已經看到了,但是就像我上面評論的那樣,我是一個新手,忘記了將文本添加到最後。謝謝你的幫助! –