我尝试在delphi Rio 10.3.3下转换此ios / objective-c函数
func authorizationController(authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
} else if let passwordCredential = authorization.credential as? ASPasswordCredential {
}
}
我将
authorization.credential
设置为pointer
。现在我的问题是如何使用该指针在进行强制转换之前检查IS ASAuthorizationAppleIDCredential
:if authorization.credential IS ASAuthorizationAppleIDCredential then
TASAuthorizationAppleIDCredential.wrap(authorization.credential);
最佳答案
您可以使用NSobject中的isKindOfClass:选择器。就你而言
if([authorization.credential isKindOfClass:[AsAuthorizationAppleIDCredential class]])
{ // is that class }
https://developer.apple.com/documentation/objectivec/1418956-nsobject/1418511-iskindofclass?language=objc
编辑:如果您只想在对象上执行一个选择器,则还可以检查它是否使用responsToSelector执行该选择器:https://developer.apple.com/documentation/objectivec/1418956-nsobject/1418583-respondstoselector?language=objc
关于ios - 如何用 objective-c 类做IS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61312870/