-1

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

4

3 回答 3

2

来自 Apple对 Core Data 的介绍

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

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

您链接到的示例代码对学习 Core Data 有一些非常有用的信息,但您应该首先真正了解 Xcode 等的基本知识。此外,该项目不使用 Storyboard,而且似乎针对的是 iOS 3.2。如果您刚刚开始,您可能想查看一些针对更新版本的 iOS 并集成 Storyboards 的示例代码。如果您一心想从 Core Data 开始,请先拆开 Master Detail Application 模板——它更容易使用(双关语)。

如果您必须知道,“类别”按钮实际上是一个 UITableViewCell。它驻留在并触发到何时被调用RecipeDetailViewController.m的推送转换。TypeSelectionViewControllertableView:didSelectRowAtIndexPath:

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

第 249 行:

//    case TYPE_SECTION:

第 228 - 230 行:

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

现在停下来,不要过去。晚点再谢我。

于 2013-09-02T02:10:53.683 回答
1

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

类别搜索

这个应用程序范围的搜索功能(诚然只扫描代码,而不是 NIB 或 Storyboards)非常有用。

这告诉我们这不是 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 的“我的第一个应用程序” ;或者第二个或第三个应用程序)他们在该指南末尾的Where to Go From Here?部分进行了描述。

实际上编写自己的代码(通过遵循这样的教程来简化)将比尝试对一些旧代码进行逆向工程(恕我直言)更有效率。

于 2013-09-02T02:13:01.933 回答
0

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

于 2013-09-02T01:22:02.407 回答