【发布时间】:2014-06-25 08:18:47
【问题描述】:
根据 Apple 工程师 Elizabeth Reid 的说法,“填充”是指您使用条件编译在 iOS 和 OS X 之间重用代码。例如:
#if TARGET_OS_IPHONE
@import UIKit;
#define BaseView UIView
#else
@import AppKit;
#define BaseView NSView
#endif
@interface MyView : BaseView
@end
在 WWDC 2014 会议Sharing code between iOS and OS X 中,她还表示:
如果你从字面上翻译你将如何使用 Objective-C 填充,这个 不会在 Swift 中编译。
有一些方法可以在 Swift 中填充您的代码。
但它比你的基本条件编译更复杂 我们可以在 Objective-C 中使用。
那么,在 Swift 中“填充代码”的方法有哪些?
【问题讨论】:
-
看看这个:developer.apple.com/library/prerelease/ios/documentation/Swift/…,尤其是条件编译语句。这可能是您的问题的答案。
-
@holex 来自同一文档:“与 C 预处理器中的条件编译语句相比,Swift 中的条件编译语句必须完全围绕自包含且语法有效的代码块。”重读后,我认为这就是里德所说的“更复杂”的意思。