关于名称字符串的一切。
如果你和我一样,厌倦了使用像这样的名称
let fullName = "testing abducio medina"
var components = fullName.components(separatedBy: " ")
if components.count > 0 {
let firstName = components.removeFirst()
let lastName = components.joined(separator: " ")
debugPrint(firstName)
debugPrint(lastName)
}
那么这个小包就是为你准备的,因为你现在可以这样做了
let name: HName = "Hady Nourallah"
debugPrint(name.firstName) //Hady
debugPrint(name.LastName) //Nourallah
let name: HName = "Hady Nourallah"
let name = "Hady Nourallah" as HName
let name = HName(stringLiteral: String)
对于 Objective-C:不幸的是,我还需要做更多的工作
HName *name = [[HName alloc] initWithStringLiteral:@"Hady Nourallah"];
name.firstName; //Hady
struct Person: Codable {
let name: HName
...
}
let name: HName = "Mr. Hady Nourallah Sr."
//you can compare directly between HName and Strings
print(name == "Mr. Hady Nourallah Sr.") //true
print (name.firstName!) //Hady
print (name.lastName!) //Nourallah
print (name.abbrivation!) //HN
print (name.fullName!) //Hady Nourallah
print (name.namePrefix!) //Mr.
print(name.formatted(.default)!) //Hady Nourallah
print(name.formatted(.short)!) //Hady
print(name.formatted(.medium)!) //Hady Nourallah
print(name.formatted(.long)!) //Mr. Hady Nourallah Sr.