【发布时间】:2012-12-11 21:09:11
【问题描述】:
今天早上我正在修改 XCode 4.5.2,想要制作一个表格视图,我自然而然地将 UITableViewDataSource 和 UITableViewDelegate 协议添加到了我的视图控制器定义中。
#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@end
#import "MyViewController.h"
@implementation MyViewController
@end
现在我知道在这个阶段我需要实现UITableViewDataSource 协议的@required 方法,但是出于(可能是TDD)习惯,我决定先执行构建,期望编译器会抛出关于未实现的@required 方法(向我指示要实现哪些方法)。
但是没有编译器发出的任何错误或警告就完成了构建,这让我感到困惑和担心。
所以我意识到这个问题通常是相反的,即“为什么我收到此警告”,而不是“为什么我没有收到此警告”,但这个非常简单的问题确实让我感到困惑。显然我做错了什么,但我不知道是什么。有什么想法可以做到吗?
仅供参考,这是一个新项目,在新 Mac Book 上全新安装 XCode 4.5.2,没有构建/项目设置自定义。
【问题讨论】:
-
你清理了目标,删除了派生数据并检查了吗?
-
感谢 Sumanth,我已经尝试过清理并重新启动等。我刚刚尝试清理、退出 XCode、删除项目的 Derived Data 文件夹、重新启动 XCode 并重建,但结果相同。
-
我也有同样的经历,有人把我联系到这里了。这是我的问题,带有一个最小的测试用例:stackoverflow.com/questions/17453434/…
-
一种可能的解释是,这两个必需的方法已经在 UIViewController 类中实现了。
标签: objective-c ios xcode compiler-construction