【发布时间】:2020-11-07 18:42:10
【问题描述】:
如何在另一个函数中访问我的数组对象,来自 arr 和电子邮件的数组对象。到目前为止,当我调用 auth.auth() 函数时,我只能在 else 语句中访问我的数组对象。我想知道如何做到这一点。
let store = CNContactStore()
store.requestAccess(for: .contacts) { (granted, err) in
if let err = err{
print(err.localizedDescription)
return
}
if granted{
print("Access granted")
let keys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey]
let req = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])
do {
try store.enumerateContacts(with: req) { (contact, stop) in
print(contact.emailAddresses.first?.value as Any)
if let em = contact.emailAddresses.first?.value{
//print("cool")
Auth.auth().fetchProviders(forEmail: em as String, completion: {
(providers, error) in
if error != nil {
print("wierd")
}else{
if providers == nil{
print("No active account")
}else{
self.emails.append(em as String)
self.arr.append(contact.givenName + " " + contact.familyName)
print("Active Account")
print(self.arr)
print(self.emails)
}
}
})
}else{
//print("wow")
}
}
}catch let err{
print(err.localizedDescription)
}
}else{
print("Access denied")
}
}
print("Arr")
print(self.arr)
print(self.emails)
print("Emails")
我想了解如何在另一个函数的“arr”和“emails”中访问我的数组元素,因为我的最终目标是将数组信息放在 tableView 中。
【问题讨论】:
标签: ios arrays swift firebase-realtime-database contacts