Swift3.0语言教程使用占位符格式创建和初始化字符串
Swift3.0语言教程使用占位符格式创建和初始化字符串在很多的编程语言中都存在占位符,占位符就是为指定的内容占留一个位置。此功能一般在开发者不知道在此位置处写什么时使用。在NSString中也为开发者提供了占位符,开发者可以使用占位符格式创建和初始化字符串,此时需要使用到init(format:_:)、init(format:locale:_:)或者是localizedStringWithFormat(_:_:)方法。
(1)init(format:_:)方法的语法形式如下:
convenience init(format: NSString, _ args: CVarArg...)
其中,format用来指定一个需要格式化的字符串,args是向format中填空的。
【示例1-6】以下将使用占位符格式创建和初始化字符串。
import Foundation
let str1="Hello %@"
var str2=NSString(string: str1)
let str3="Swift"
var str4=NSString(format: str2, str3) //使用占位符格式创建和初始化字符串
print(str4)
运行结果如下:
Hello Swift
(2)init(format:locale:_:)方法和init(format:_:)方法实现的功能是一样的,只不过它比init(format:_:)方法多了一个locale参数,此参数可以用来设置语言环境(每一个国家都有自己的语言环境,当开发者在开发程序时,使用适当的语言环境是很重要的),其语法形式如下:
convenience init(format: NSString, locale: Locale?, _ args: CVarArg...)
【示例1-7】以下将使用init(format:locale:_:)方法创建和初始化字符串。
import Foundation
var str1=NSString(string:"This is %@")
var str2=NSString(string:"Book")
var l=Locale.current
var str3=NSString(format: str1,locale: l,str2) //创建和初始化字符串
print(str3)
运行结果如下:
This is Book
(3)localizedStringWithFormat(_:_:)方法和init(format:locale:_:)、init(format:_:)方法唯一的不同之处在于localizedStringWithFormat(_:_:)方法是一个类方法,其语法形式如下:
class func localizedStringWithFormat(_ format: NSString, _ args: CVarArg...) -> Self
其中,format用来指定一个需要格式化的字符串,args是向format中填空的。
【示例1-8】以下将是localizedStringWithFormat(_:_:)方法创建和初始化字符串
import Foundation
var str1=NSString(string:"This is %@")
var str2=NSString(string:"Apple")
print(NSString.localizedStringWithFormat(str1, str2)) //初始初始化字符串
运行结果如下:
This is Apple