use*_*951 25 xcode cocoa-touch protocols objective-c compiler-warnings
当我调用一个新的控制器时TestController,我插入
<UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate,UISearchBarDelegate>
Run Code Online (Sandbox Code Playgroud)
到Test.h的接口
当我在模拟器上运行应用程序时,有许多问题说"未完成的实现"和"协议中的方法未实现"
我知道有些方法没有实现,但哪一个?我怎么知道我应该添加什么方法?
Ste*_*her 65
显示问题导航器并展开"协议中未实现的方法"问题之一.第一个详细信息项将显示标题中定义方法的位置(因此,它所在的@protocol).但更好的是,第二个细节将显示协议的名称.
切换到"问题"导航器.忽略不完整的实现消息,并查看协议未实现的方法消息.您可以展开此消息以获取编译器提供的更多信息.第一个细节是您正在寻找的:

你可以在这里看到我忘了包含一个方法tableView:numberOfRowsInSection:.我可以复制此声明并将其粘贴到我自己的代码中以开始编写该方法.
请注意,我的问题导航器中有三个问题.第三种是另一种缺失的方法,也可以以相同的方式进行扩展和复制.
我可以想到两件你可以寻找的东西.首先,查看您的.h文件,看看您是否有任何您可能忘记实现的方法原型,或者实现,然后更改实现,使其不再匹配原型的方法签名.
其次,如果编译器是不会告诉你哪些方法缺失,看的文件UITableViewDelegate,UITableViewDataSource等等.在任务部分,它列出了各种公共类和实例方法,它会说"需要法"旁边的任何那需要在那里.例如,如果你的类符合UITableViewDataSource委托协议,-tableView:cellForRowAtIndexPath:并且-tableView:numberOfRowsInSection:是必需的.
| 归档时间: |
|
| 查看次数: |
17476 次 |
| 最近记录: |