【问题标题】:How to write this code in swift 3.0, specially how to use Macro in swift3?如何在 swift 3.0 中编写此代码,特别是如何在 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)";

标签: ios objective-c swift3.0.2


【解决方案1】:

Swift 没有预处理器,但您可以创建一个包含所有常量或标志的结构。

struct MyAppConstants {
 static let editChar = "f"
// Etc...
}

你可以叫它MyAppConstants.editChar
您的问题被标记为 swift,但您发布的代码是 ObjC。

【讨论】:

  • 谢谢,但是构造结构是处理obj C或其他东西的宏的唯一方法?
  • 如果您使用的是 ObjC 或与 Swift 的混合项目,您可以创建宏,但您只能在 ObjC 源文件中使用它们(据我记得)。在 Swift 中有不同的做法。结构就是其中之一,但也可以使用枚举或简单地在全局范围内声明常量。使用结构或枚举,您可以轻松地将常量分隔为不同的上下文,例如 UIConstants、FileConstants 等。对于这两种方法之间的差异,您可以从 MartinR stackoverflow.com/questions/38585344/… 阅读此答案
猜你喜欢
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
相关资源
最近更新 更多