[英]How to validate method bytes using respondsToSelector for value from HomeKit in Swift 4
下面是我要轉換為Swift 4的代碼,我可以看到reactsToSelector:在Swift 4中不可用
下面是完美運行的Objective-c代碼:
-(id)getValueFromHomeKitValue:(id)homeKitValue{
if ( [homeKitValue respondsToSelector:@selector(bytes)] ){
NSData * data = (NSData *) homeKitValue;
uint64_t value = *(uint8_t*)[homeKitValue bytes];
return value;
}
}
func getValueFromHomeKitValue(_ homeKitValue: Any?) -> Any? {
if homeKitValue?.responds(to: #selector(self.bytes)) ?? false {
let data = homeKitValue as? Data
return UInt8(homeKitValue?.bytes())
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.