如何在XCode 4.2中自动生成协议的存根?

时间:2011-11-02 19:06:25

标签: ios xcode

Xcode 4.2可以自动生成我在头文件中定义的协议的存根吗?

在本教程(http://kurrytran.blogspot.com/2011/10/ios-5-storyboard-and.html)中,作者在第4点的说明中说,Xcode现在将自动生成我需要的方法。否则我做错了......

4 个答案:

答案 0 :(得分:2)

从您的问题来看,我无法准确理解您的需求。

如果您需要样板代码,例如子类-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath时出现的UITableViewController实现,那么您应该创建自己的模板as Grouchal suggests。另请查看我问here的类似问题。

我认为您链接的教程是指代码感,例如:

  • 在标头文件中,添加<UITextFieldDelegate>
  • 等协议

@interface FirstViewController : UIViewController <UITextFieldDelegate>

  • 保存,然后在.m文件中,您可以通过键入短划线“ - ”然后按键盘上的“Escape”来查看可以实现的新方法。如果您键入第一个字母,例如“-tex”,然后“Escape”将显示UITextFieldDelegate的方法,这会有所帮助。

使用UITableViewDelegateUITableViewDataSource尝试相同的操作,您会看到您的教程step 4的结果与您的教程类似(请注意,在屏幕截图中,用户已经输入“-tab”来获取方法列表。)

答案 1 :(得分:1)

如果我没弄错的话,请查看Accessorizer,它可以做你想做的事。

答案 2 :(得分:1)

首先,您可能希望使用模板来实现目标:

http://blog.highorderbit.com/2009/03/15/customizing-xcode-cocoa-touch-file-templates/

您参考的教程也在第4点提到:

  

另请注意,如果该方法不是自动生成的,那么您可能正在做   有问题。这是我知道我做错了什么的主要方式,   或程序崩溃。

这可能表示您没有遵循前面的步骤100%

答案 3 :(得分:1)

如果您通过Xcode向导创建一个新类(即File-&gt; New-&gt; File或cmd-N并选择Objective-C类),那么如果从''中选择适当的内置超类,那么Subclass在'下拉列表中,您将获得一个模板实现,其中包含已实现的基本存根,以及其他方法的注释版本,您可以根据这些方法编写代码。我已经成功地将它用于UITableViewController的子类。不是Eclipse存根生成的联盟,但总比没有好。