gpt4 book ai didi

ios - 在运行时区分 ios 中的私有(private)类和公共(public)类/api

转载 作者:行者123 更新时间:2023-11-29 02:46:05 24 4
gpt4 key购买 nike

我在 iOS 应用程序中找到其中一个 View 的 View 层次结构。当我解析 View 层次结构时(通过在循环中使用命令 view.superview 并打印 View 描述),我得到了许多私有(private)类的对象,如

UILayoutContainerView 
UIViewControllerWrapperView
UINavigationTransitionView
UITableViewCellScrollView
UITableViewCellContentView

现在,我想区分哪些是私有(private)的,哪些是公共(public)的,这样我就可以使用公共(public)的(这样我的应用程序就不会被苹果拒绝)。

最佳答案

当一个类(或方法)被记录在官方、公共(public) Apple 文档中时,该类(或方法)就属于公共(public) API。如果您很慷慨,您可以说 SDK 头文件中的类(和方法)也是公共(public)的,即使它们没有明确记录。但正如您所看到的,给定类(或方法)属于公共(public) API 还是私有(private) API 的信息并不是在运行时的任何地方编码的。这意味着,无论 Objective-C 有什么自省(introspection)能力,都根本不可能实现你想要的。

获得近似您想要的解决方案的唯一方法是以某种方式自己编码和存储所需的信息。您可以将信息存储在应用程序中(本质上是对其进行硬编码),或者甚至可以向服务器查询信息。但正如您自己可能已经意识到的那样,这些方案都不优雅,而且您将非常忙于为每个新版本的 iOS 更新信息。

我建议您花点时间重新考虑您的应用设计。

关于ios - 在运行时区分 ios 中的私有(private)类和公共(public)类/api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25112902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com