显示contact.phoneNumber到单元格

时间:2018-09-09 13:50:01

标签: ios swift uitableview contacts

您好,我目前正在使用通讯录应用程序,但是我无法在单元格中正确显示联系人号码,我想要的是将其显示为没有可选文本和(“”)的字符串。这是我的代码:

let cell = tableView.dequeueReusableCell(withIdentifier: "contactCell", for: indexPath)
    let contact: CNContact!

    if inSearchMode {
        contact = filteredData[indexPath.row]
    } else {
        contact = contactList[indexPath.row]
    }

    cell.textLabel?.text = "\(contact.givenName) \(contact.familyName) \((contact.phoneNumbers.first?.value as? CNPhoneNumber)?.stringValue) "

    return cell
}

如何在姓名下显示数字?

1 个答案:

答案 0 :(得分:1)

使用此?? nil-coalescing运算符:

"\(contact.givenName ?? "") \(contact.familyName ?? "") \((contact.phoneNumbers.first?.value as? CNPhoneNumber)?.stringValue ?? "") "

以这个例子为例:

let s: String? = "Hello"
let newString = s ?? "World" //s is not nil, so it is unwrapped and returned
type(of: newString)          //String.Type

如果??左侧的操作数为nil,则返回其右侧的操作数。 ??左侧的操作数不是nil,然后将其解包并返回。

let s2: String? = nil
let s3 = s ?? "World" //In this case s2 is nil, so "World" is returned
type(of: newString)   //String.Type