IBOutlet未在Interface Builder-Xcode 4.2中连接

sca*_*red 5 iphone objective-c interface-builder xcode4.2

我在这里已经阅读了其他问题,但它们似乎适用于Xcode 3.2或更早版本,但4.2版本没有.:(

我开始了一个简单的项目,并希望在我的xib中连接文件所有者的Outlets.可悲的是,我的ViewController.h中的IBOutlet没有过来.

我没有10或以上的声誉,所以这里是我的文件所有者的屏幕截图,没有显示我的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
Run Code Online (Sandbox Code Playgroud)

这是我的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
Run Code Online (Sandbox Code Playgroud)

我是Objective-C和Xcode的新手,所以我可能犯了一个错误,但我已经遵循了许多教程,我永远无法展示我的IBOutlets.我已经删除了Xcode 4.2并重新安装以尝试解决此问题.这是我的Xcode版本4.2,Build 4D199信息屏幕截图.

其他人遇到这个问题?谢谢任何可以指出我所犯错误的人.如果需要更多信息,请告诉我.

hel*_*imi 16

创建IBAction时,在.h文件中,左侧会有一个连接指示符.如果未连接,则显示空白圆圈.

按住此按钮并将其拖动到要连接到的项目.我经常通过双击在新窗口中打开XIB.

通过从.h文件中拖动将IBAction连接到您的按钮


如果它不连接,则必须File's Owner在XIB文件中设置.File's Owner在"占位符"面板中选择.转到Utilities面板,确保将Custom classin Identity Inspector设置为viewcontroller的名称.

设置文件所有者

我希望这能帮到您.

干杯!