1

我是iPhone編程和Objective-C的新手,並且在UITextView上遇到了一些麻煩。我有一個文本視圖作爲子視圖的視圖。我創建了一個單獨的類,我想成爲文本視圖的分界線。在我這個委託類的頭,我必須聲明:應用程序與UITextViewDelegate崩潰

@interface MessageTextViewDelegate : NSObject UITextViewDelegate 

周圍UITextViewDelegate尖括號。我還將界面構建器中的文本視圖連接到我的委託類,該類是我在界面構建器中創建的一個對象。但是,當我運行我的應用程序並單擊文本視圖時,應用程序崩潰。

當我嘗試在代碼中初始化文本視圖委託的實例並將我的文本視圖的委託設置爲該實例時,會發生同樣的事情。當我的應用程序中沒有委託(即,它在界面構建器中未連接或未在代碼中鍵入)時,應用程序將運行。我需要委託,以便在鍵盤顯示時可以在文本視圖上執行動畫調整大小。
您可以幫我一下代碼,或者我應該在界面生成器中做些什麼來使代碼具有應用功能?

@willcodejavaforfood

我是說我挖掘的TextView場以下錯誤信息:[會話開始於2010-08-29 17時39分50秒-0400]

將程序加載到調試器中... GNU gdb 6.3.50-20050815(Apple版本gdb-962)(星期六7月26日08:14:40 UTC 2008) Copyright 2004 Free Software Foundation,Inc. GDB是免費軟件,覆蓋GNU通用公共許可證,你是 歡迎在特定條件下更改和/或分發它的副本。 輸入「show copying」查看條件。 GDB絕對沒有保修。請輸入「顯示保修」以瞭解詳情。 此GDB被配置爲「i386-apple-darwin」.warning:無法讀取「/System/Library/Frameworks/UIKit.framework/UIKit」(未找到文件)的符號。 警告:無法讀取「UIKit」中的符號(尚未映射到內存中)。 警告:無法讀取「/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics」(未找到文件)的符號。 警告:無法讀取「CoreGraphics」中的符號(尚未映射到內存中)。 已加載程序。 sharedlibrary apply-load-rules全部 附加到程序:`/ Users/vivek/Library/Application Support/iPhone Simulator/User/Applications/86E8C2CB-3CB7-4615-BF2F-82F3B8982EB3/TestApp.app/TestApp',進程1493 。 kill 在殺死目標時發生錯誤(無論如何):警告:函數「macosx_kill_inferior_safe」中的「/SourceCache/gdb/gdb-962/src/gdb/macosx/macosx-nat-i​​nferior.c」的線路1987錯誤: (OS /克恩)失敗(0x5x) 退出

調試器已與狀態0

+0

崩潰,並是什麼錯誤? – willcodejavaforfood 2010-08-29 21:41:40

+0

嗨,willcodejavaforfood,我剛剛編輯我的問題,包括錯誤。你能看看上面嗎? – 2010-08-29 22:12:00

回答

0

退出你通常會在IB與屬性連接的UITextView在你我ssageTextViewDelegate UITextView類型的類。這是在您的代碼中創建以下內容:

@interface MessageTextViewDelegate 

    UITextView *myTextView; 

@property (nonatomic, retain) IBOutlet UITextView *myTextView; 

@implementation MessageTextViewDelegate 

@synthesize myTextView 

然後,您將IB中的文本視圖對象與myTextView屬性連接起來。

+0

嗨ennuikiller,我試過這樣做,但我的應用程序仍然崩潰。我是否還需要在代碼中的某處初始化委託實例? – 2010-08-29 22:13:07

0

基於生成的錯誤,它看起來像你的項目是不正確編譯應用程序。我會從「清理」所有目標開始,並進行完整的重新編譯。

0

如果我理解正確的問題,那麼它的:

如果你有一個視圖控制器「A」和它與TextView的「B」子視圖...

解決您的問題, 化妝ViewController「A」你的TextViewDelegate。然後你可以處理事情。

乾杯,

Kunjal