2011-12-02 72 views
5

我已經閱讀過其他問題,但它們似乎適用於Xcode 3.2或更早的版本,但對於4.2版本而言並非如此。 :(IBOutlet無法在Interface Builder中連接 - Xcode 4.2

我開始一個簡單的項目,並希望我的廈門國際銀行內部文件所有者的網點相連接。該令人失望的是,從我的ViewController.h我IBOutlet中的不過來。

我沒有。10以上,所以here is a screenshot of my File's Owner not showing my IBOutlets的聲譽

這裏是我的ViewController.h代碼:

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController { 
    IBOutlet UITextField *txtName; 
    IBOutlet UILabel *lblMessage; 
} 

@property (nonatomic, retain) IBOutlet UITextField *txtName; 
@property (nonatomic, retain) IBOutlet UILabel *lblMessage; 

- (IBAction)doSomething; 

@end 

這裏是我ViewController.m代碼:

#import "ViewController.h" 

@implementation ViewController 

@synthesize txtName; 
@synthesize lblMessage; 

- (IBAction) doSomething 
{ 
    NSString *msg = [[NSString alloc] initWithFormat:@"Hello, %@",txtName.text]; 
    [lblMessage setText:msg]; 
} 

@end 

我是Objective-C和Xcode的新手,所以我可能犯了一個錯誤,但我遵循了很多教程,並且我永遠無法讓我的IBOutlets顯示。我已經儘可能刪除Xcode 4.2並重新安裝以嘗試解決此問題。這是一個screenshot of my Xcode Version 4.2, Build 4D199 info

其他人遇到這個問題?感謝任何能指出我犯過的錯誤的人。請讓我知道是否需要更多信息。

回答

16

創建IBAction時,在.h文件中,它的左側會有一個連接指示符。當它沒有連接時,它顯示一個空的圓圈。

按住並拖動它到要連接的項目。我通常雙擊它在新窗口中打開XIB。

Connect the IBAction to your button by dragging from the the .h file


如果它不會連接必須設置在XIB文件中的File's Owner。在佔位符面板中選擇File's Owner。轉到「實用程序」面板,並確保中的Custom class設置爲您的視圖控制器命名的內容。

Set files owner

我希望這會幫助你。

乾杯!

+0

第二部分是這樣做的。我想我假設它是默認設置的。我非常感謝幫助和截圖! – scared

+0

我嘗試了幾乎所有的東西,但是你打開一個新窗口然後拖動它的第一個技巧奏效了。 – nasaa

+0

謝謝,你的回答也幫助了我。給予好評。 – DrinkJavaCodeJava

4

嘗試在xib文件中重新分配文件所有者類引用。

然後附加所有IBOutlet連接。

希望這可能對您有所幫助。

+0

這並獲得成功,謝謝! – scared

+0

如何重新分配? – Developer

0

有兩件事情需要添加,之前的Xcode將允許IBOutlet中的創作從故事板的文本字段:

  1. 分配底層的ViewController作爲代表到的UITextField
  2. 添加到@ ViewController中的@interface聲明。.h文件:

    @interface ViewController中:UIViewController中< UITextFieldDelegate>

直到這兩個都完成後,你可以按住Ctrl鍵單擊,並從故事板到.h文件拖拽,但沒有IBOutlet中連接將被啓用。

0

我終於想通了這個問題,希望這可以幫助其他人目前有同樣的問題。 它與xib的文件所有者設置無關。我的問題是,我將xib文件放在與源文件不同的目錄中,因此無法連接插座。一旦我將文件移動到相同的目錄,一切都奏效。僅供參考,我將所有內容移至頂層目錄。不知道子目錄將工作...

要移動的文件,一定要更新的xcode指向新的位置。

相關問題