我想从字典中实现模型的通用填充.我使用以下测试测试模型是否具有属性,但条件总是失败:
if (self.responds(to:(NSSelectorFromString(keyName)))){
self.setValue(keyValue, forKey: key )
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例代码:
import UIKit
class myModel: NSObject {
var userName: String = ""
var phoneNumber: String = ""
init(dict: Dictionary<String, Any>) {
super.init()
for (key, value) in dict {
let keyName = key
let keyValue: String = String(describing: value)
print("key \(key) value \(value)")
if (self.responds(to:(NSSelectorFromString(keyName)))){
self.setValue(keyValue, forKey: key )
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用此代码获取设备令牌它在swift 3中工作但不在swift 4中工作请帮我解决它.
if #available(iOS 10.0, *) {
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options:[.badge, .alert, .sound]) { (granted, error) in
}
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
print(deviceTokenString)
}