小编iam*_*han的帖子

"id"类型如何理解方法的接收者而不进行投射?

在将master与我的工作分支合并之后,我在该行上遇到了编译器错误,该错误未被更改.错误看起来像

id test;
[test count];
Run Code Online (Sandbox Code Playgroud)

找到了名为'count'的多个方法,结果不匹配.

起初看起来很清楚,因为编译器不知道"test"变量是哪种具体类型.但我不明白为什么它以前有用.

  1. 如果我创建一个新文件,这行就可以了,假设这是一个NSArray的方法.为什么编译器在这种情况下不显示错误?

  2. 在显示错误消息时,显示了几种可能的计数方法接收器.(NSArray,NSDictionary,NSSet)是否搜索所有可以接收该消息的类,如果有多个消息则显示错误?

  3. 我注意到导入"-Swift.h"文件时发生错误.这取决于什么?

objective-c ios swift objc-bridging-header

5
推荐指数
2
解决办法
192
查看次数

标签 统计

ios ×1

objc-bridging-header ×1

objective-c ×1

swift ×1