链接文件所有者和视图控制器[iPhone SDK]

时间:2008-10-08 21:20:44

标签: iphone cocoa xcode interface-builder

到目前为止,我似乎遇到了iPhone SDK 2.1的问题 能够在ViewController和View之间建立关系 窗口。就Cocoa Touch Class而言,我前进并添加了一个 UIViewController子类。我确保目标是其中的一部分 现有项目。之后我添加了一个用户界面 - >视图 厦门国际银行。在UIViewController中,我有一些直截了当的代码 字面上从其他地方的示例代码中复制/粘贴:

EditViewController.h:

@interface EditorViewController : UIViewController <UITextFieldDelegate> {
    UITextField *field;
}

@property(nonatomic, retain) IBOutlet UITextField *field;
@end

EditViewController.m

#import "EditorViewController.h"

@implementation EditorViewController

- (BOOL)shouldAutorotateToInterfaceOrientation:
         (UIInterfaceOrientation)interfaceOrientation {
   // Return YES for supported orientations
  return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}


- (void)dealloc {
   [super dealloc];
}


@end

正如你所知,它并没有做太多。现在,当我点击我的新xib时,和 使用EditorViewController引用类标识,不自动完成 发生了,这对我来说意味着它没有这样的意识 EditorViewClass。当我尝试控制+从视图中单击时 文件的所有者,我得到了nada。

我在这个过程中有哪些可能的特质 忽略那是不允许我把我的视图输出到控制器?

除了将项目名称作为目标检查外,我还如何确保我的用户界面视图XIB与项目相关联?

2 个答案:

答案 0 :(得分:2)

(这似乎并不特定于iPhone - 它是任何平台的一般问题。)

这几乎不清楚这意味着什么: “现在,当我单击我的新xib,并使用EditorViewController引用类标识时,不会发生自动完成,这对我来说意味着它没有对EditorViewClass的这种认识。”

您的意思是您选择了文件所有者并尝试将其类设置为EditorViewController,但Interface Builder没有为您自动完成类名吗?

如果是这种情况,xib文件是否与项目相关联?

其他不直接相关的观点:

现在最佳做法是将IBOutlet与财产相关联:

@interface EditorViewController : UIViewController
{
    UITextField *field;
}
@property(nonatomic, retain) IBOutlet UITextField *field;
@end

您还应该在dealloc中发布文字字段:

-(void)dealloc {
    [textField release];
    [super dealloc];
 }

您的问题的格式化使您很难看到您编写的代码。术语也是“奇怪的” - 出口不是动词:

“在这个过程中我可以忽略的一些可能的特质是不允许我将视图输出到控制器?” 你的意思是: “有什么我可能忽略的意味着我无法将控制器的视图插座连接到Interface Builder中的视图吗?”

答案 1 :(得分:2)

它应该像选择文件所有者并在类框中输入类的名称一样简单(它应该自动完成,也可以在下拉菜单中)。确保您没有尝试将类设置为视图本身。