我正在尝试学习Xcode,而不是阅读冗长的教程,我更喜欢边做边学。因此,我正在查看Apple开发人员网站上的一些示例代码,并了解代码的细节。我目前正在学习核心数据(https://developer.apple.com/library/ios/samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html),但我遇到了一个问题。有一个按钮可以将我链接到“类别”,我可以在其中选择一个类别来放入食谱。这些类别最好连接到SQLite数据库。但是,我正在尝试删除此按钮,我无法找到任何代码中按钮的位置。如果有人知道通过模拟器找到并删除按钮的简单方法,我会非常感激,或者如果有人有时间查看代码并查看按钮的位置(正好在准备时间之下并且直接在成分之上) )并看看如何删除它,我会非常感激。任何帮助是极大的赞赏。感谢。
答案 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
内的表格视图中的一个部分:
这个应用程序范围的搜索功能(无可否认只扫描代码,而不是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文件中。但是如果你是以这种方式学习的话,你将不得不接受你会遇到一些更正式的方法可能会帮助你的东西。