Swift中的常量声明

3

我有一个常量字符串定义为

#define kNotificationMessage @"It's time to take your %@"

在 Objective-C 中,我使用:
[NSString stringWithFormat:kNotificationMessage, medicineString]

如何在Swift中将消息传递给UIAlertView?


你想在UIAlertview中使用这个吗? - vijeesh
只需使用“let”变量。 - Shardul
2
以下有一些非常奇怪和错误的答案(包括被接受的答案)。等效的 Swift 代码是 let kNotificationMessage = "Check out what I learned about %@ from Stackoverflow."; let aString = String(format: kNotificationMessage, medicineString) - Airspeed Velocity
6个回答

7
let medicineString = "analgesic"
let kNotificationMessage = "It's time to take your %@"

let sentence = String(format: kNotificationMessage, medicineString)

println(sentence) // It's time to take your analgesic"

3
这是正确的本地方式,我认为应该被接受为正确答案。 - Vasil Garov
4
在一片错误的海洋中,这是唯一正确的答案。 - Airspeed Velocity

2
请使用以下代码,可能会解决您的问题。
let kNotificationMessage:String = "It's time to take your %@"
var modifiedString = NSString(format:kNotificationMessage:String, medicineString) as String

1
let msg = "It's time to take your" as String

let alertController = UIAlertController(title: "iOScreator", message:

        "\(msg)" , preferredStyle: UIAlertControllerStyle.Alert)

    alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.Default,handler: nil))

    self.presentViewController(alertController, animated: true, completion: nil)

这是我在Swift中执行警报的方法。如果我理解得不错,这段代码对你有用,我会很高兴。:)

0

不行,你必须将其制作成一个函数:

func notificationMessage(medicineString: String) -> String {
    return "It's time to take your " + medicineString
}

如需更多信息,这个帖子 是一个不错的阅读材料。


0

你最好使用 struct 来处理这样的常量:

struct GlobalConstants {
    static let kNotificationMessage = "It's time to take your"
}

println(GlobalConstants.kNotificationMessage)

-2

首先创建一个结构体

struct AStructConstants 
{
    static let sampleString : NSString = NSString(string: "Check out what I learned about %@ from Stackoverflow.")
}

var aString : NSString = NSString(format: AStructConstants.sampleString, "some custom text")
println(aString)

你的输出将是:

看看我从Stackoverflow学到的一些自定义文本。


3
Swift原生类型是String,而不是NSString。你应该使用let aString = "whatever"。顺便说一句,Swift是一种类型推断语言。 - Leo Dabus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接