Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么我们需要将Swift类标记为“public”或“open”,以便在Objective-C框架项目中访问它?_Ios_Objective C_Swift - Fatal编程技术网

Ios 为什么我们需要将Swift类标记为“public”或“open”,以便在Objective-C框架项目中访问它?

Ios 为什么我们需要将Swift类标记为“public”或“open”,以便在Objective-C框架项目中访问它?,ios,objective-c,swift,Ios,Objective C,Swift,作为标题 但根据苹果的数据,它说: 使用内部修饰符标记的方法和属性,以及 在继承自Objective-C类的类中声明的 可访问Objective-C运行时 它说,内部应该可以工作 我误解了什么吗?运行时可以访问类,但程序员不能访问。 您需要使用类头来操作它们。 如果您将它们标记为public,Xcode将只为您生成public Objective-C头。类将可供运行时访问,但程序员无法访问。 您需要使用类头来操作它们。 Xcode只会为您生成公开的Objective-C标题,如果您将其标记为pu

作为标题

但根据苹果的数据,它说:

使用内部修饰符标记的方法和属性,以及 在继承自Objective-C类的类中声明的 可访问Objective-C运行时

它说,
内部
应该可以工作


我误解了什么吗?

运行时可以访问类,但程序员不能访问。 您需要使用类头来操作它们。
如果您将它们标记为public,Xcode将只为您生成public Objective-C头。

类将可供运行时访问,但程序员无法访问。 您需要使用类头来操作它们。
Xcode只会为您生成公开的Objective-C标题,如果您将其标记为public。

在您的报价中,没有任何地方说您必须将其公开或公开,您不必这样做,它们可以保留在内部以从obj访问。在您的报价中,没有任何地方说您必须将其公开或公开,您不必这样做,它们可以留在内部,以便从obj-c访问