如何在 swift 3.0 中编写此代码,特别是如何在 swift3 中使用宏?
Posted
技术标签:
【中文标题】如何在 swift 3.0 中编写此代码,特别是如何在 swift3 中使用宏?【英文标题】:How to write this code in swift 3.0, specially how to use Macro in swift3? 【发布时间】:2017-02-06 10:35:19 【问题描述】:如何在swift 3.0中编写这段代码?
NSSTring *countString=[NSString stringWithFormat:@"%d %@",count,EDIT_CHAR];
其中,EDIT_CHAR 是宏,计数是整数。
【问题讨论】:
使用全局 let/var 变量。在类外声明,它将在整个项目中都可以访问。var countString: NSSTring? = "\(count) \(EDIT_CHAR)";
【参考方案1】:
Swift 没有预处理器,但您可以创建一个包含所有常量或标志的结构。
struct MyAppConstants
static let editChar = "f"
// Etc...
你可以叫它MyAppConstants.editChar
您的问题被标记为 swift,但您发布的代码是 ObjC。
【讨论】:
谢谢,但是构造结构是处理obj C或其他东西的宏的唯一方法? 如果您使用的是 ObjC 或与 Swift 的混合项目,您可以创建宏,但您只能在 ObjC 源文件中使用它们(据我记得)。在 Swift 中有不同的做法。结构就是其中之一,但也可以使用枚举或简单地在全局范围内声明常量。使用结构或枚举,您可以轻松地将常量分隔为不同的上下文,例如 UIConstants、FileConstants 等。对于这两种方法之间的差异,您可以从 MartinR ***.com/questions/38585344/… 阅读此答案以上是关于如何在 swift 3.0 中编写此代码,特别是如何在 swift3 中使用宏?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3.0 中使用 keysSortedByValue?
获取“无法打开应用程序,因为您无权查看它。 “将项目代码从swift 2.2转换为swift 3.0之后