为仅在更高版本的 SDK 中可用的类添加属性

发布于 2024-12-08 18:39:51 字数 207 浏览 1 评论 0原文

我希望我的应用程序能够在 iOS 3.0 及更高版本上运行,并且成为通用应用程序。 我的问题在这里: 如果我的类需要仅在后续 SDK 中引入的类的属性,我该怎么办?

例如: 我的类需要 UIPopovercontroller 的属性,但这仅在 3.2 及更高版本中可用。 我是否需要通过定义 NSObject 的属性然后始终转换为 UIPopoverController 来解决问题?

I want my application to run on iOS 3.0 and later and be a universal application.
My problem here:
What do I do, if my class needs a property of a class that's only introduced in a later SDK?

For example:
My class needs a property of a UIPopovercontroller, but that's only available in 3.2 and later.
Do i need to work around by defining a property of NSObject instead and then casting around to UIPopoverController all the time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

难忘№最初的完美 2024-12-15 18:39:52

看看关于 Cocoa 的 这篇文章喜欢有关结合编译时和运行时检查来检查类和方法可用性的更多信息。 Matt Gallagher 开发并发布的预处理器宏可能会满足您的需求。不过,您必须对它们进行一些调整才能区分 3.2 和 3.0 之间的细微差别。

综上所述,3.x 的用户并不多(截至 2011 年 1 月,约为 10%,现在无疑要少得多。)

Take a look at this post on Cocoa with Love for more info about combining compile-time and run-time checks for class and method availability. The preprocessor macros that Matt Gallagher developed and posted there may meet your needs. You would have to adapt them a bit to nuance the distinction between 3.2 and 3.0, though.

All of that said, there aren't a lot of users on 3.x (as of January 2011, it was ~10%, now undoubtedly much less.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文