在Xcode中找到未知按钮的简便方法?

时间:2013-09-02 01:12:51

标签: ios objective-c xcode

我正在尝试学习Xcode,而不是阅读冗长的教程,我更喜欢边做边学。因此,我正在查看Apple开发人员网站上的一些示例代码,并了解代码的细节。我目前正在学习核心数据(https://developer.apple.com/library/ios/samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html),但我遇到了一个问题。有一个按钮可以将我链接到“类别”,我可以在其中选择一个类别来放入食谱。这些类别最好连接到SQLite数据库。但是,我正在尝试删除此按钮,我无法找到任何代码中按钮的位置。如果有人知道通过模拟器找到并删除按钮的简单方法,我会非常感激,或者如果有人有时间查看代码并查看按钮的位置(正好在准备时间之下并且直接在成分之上) )并看看如何删除它,我会非常感激。任何帮助是极大的赞赏。感谢。

3 个答案:

答案 0 :(得分:2)

来自Apple的introduction to Core Data

  

重要提示:核心数据不是入门级技术。在开始之前   要使用Core Data,您必须了解iOS应用程序的基础知识   发展,包括:

     
      
  • 如何使用Xcode和Interface Builder
  •   
  • 基本设计模式,例如模型 - 视图 - 控制器和委派
  •   
  • 如何使用视图控制器,导航控制器和表视图
  •   

您链接的示例代码有一些非常有用的信息来学习核心数据,但您应该首先学习Xcode的绳索等。此外,该项目不使用Storyboards,似乎是针对iOS 3.2。您可能需要查看一些针对更新版iOS的示例代码,并在刚开始时集成Storyboard。如果您已经开始使用Core Data,请先选择Master Detail Application模板 - 它更容易消费(双关语)。

如果你必须知道,“类别”按钮实际上是一个UITableViewCell。它位于RecipeDetailViewController.m,并在调用TypeSelectionViewController时触发向tableView:didSelectRowAtIndexPath:的推送过渡。

如果您想要删除该部分的单元格和标题,请注释第249行和第228-230行。

第249行:

//    case TYPE_SECTION:

第228-230行:

//    case TYPE_SECTION:
//        title = @"Category";
//        break; 

现在停止,不要过去。谢谢我。

答案 1 :(得分:1)

如果您在项目中搜索“类别”一词,则可以看到它是RecipeDetailViewController内的表格视图中的一个部分:

Category search

这个应用程序范围的搜索功能(无可否认只扫描代码,而不是NIB或故事板)非常有用。

这告诉我们这不是NIB定义的UI的一部分,而是从代码生成的UI(它是表视图中的一个部分)。从该代码可以看出,这意味着section数字等于TYPE_SECTION的部分会导致“类别”行为。因此,搜索代码中所有出现的TYPE_SECTION,并在代码中对其进行注释。因为这些段号是代码的组成部分(并且必须从零开始),所以你必须调整以下常量:

#define TYPE_SECTION 0
#define INGREDIENTS_SECTION 1
#define INSTRUCTIONS_SECTION 2

并用以下内容替换:

// #define TYPE_SECTION 0
#define INGREDIENTS_SECTION 0
#define INSTRUCTIONS_SECTION 1

这段代码相当无理,也对部分的数量进行了硬编码,所以你可能也必须解决这个问题,即替换:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 4;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 3;
}

在我的快速调查中,这是你需要做的。可能还有其他事情需要做。如果这是一个由NIB或故事板定义的UI元素,那么搜索它的过程就会有所不同(而且更加麻烦,我在这里犹豫不决......这个问题的答案是(a)不适用关于如何删除“类别”部分的直接问题和(b)关于搜索NIB的详细答案可能会比帮助更令人困惑;如果你真的想让我描述它我可以,但它可能不是很好用你刚开始时的时间)。


说完所有这些,如果你想学习,诊断真正的旧代码可能不是我建议的第一个途径。

相反,我会建议您按照一些教程来指导您创建自己的测试应用程序(例如,在开始开发iOS应用程序的Jump Right In部分中描述的Apple的“我的第一个应用程序”< / em>指南;或他们在该指南末尾的Where to Go From Here?部分中描述的第二个或第三个应用。

实际上编写自己的代码(通过按照这些教程进行简化)将比试图对一些旧代码(IMHO)进行逆向工程更有效率。

答案 2 :(得分:0)

接口可能在xib文件中。但是如果你是以这种方式学习的话,你将不得不接受你会遇到一些更正式的方法可能会帮助你的东西。