Показать contact.phoneNumber в ячейку - PullRequest
0 голосов
/ 09 сентября 2018

Здравствуйте. В настоящее время я работаю над приложением контактов и не могу правильно отобразить номер контакта в ячейке, все, что мне нужно, это отобразить его в виде строки без дополнительного текста и (""). Вот мой код:

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 голосов
/ 09 сентября 2018

используйте это ?? ноль-коалесцирующий оператор:

"\(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

Если операнд слева от ?? равен нулю, возвращается правый операнд. операнд слева от ?? НЕ равен нулю, затем он разворачивается и возвращается.

let s2: String? = nil
let s3 = s ?? "World" //In this case s2 is nil, so "World" is returned
type(of: newString)   //String.Type
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...