无法调用非功能类型的值'((AnyClass) - > Bool)!'

时间:2016-12-15 10:00:29

标签: ios swift3

这是我的代码。

    let myDeepLinkAction: UAAction = UAAction(block: {(args:UAActionArguments, handler:UAActionCompletionHandler) -> Void in
                            handler(UAActionResult.empty())
                            }, acceptingArguments: {(arguments: UAActionArguments) in

                                if arguments.situation == UASituation.backgroundPush {

                                    return true
                                }
                                return ((arguments.value! as AnyObject).isKind(of: NSString) || (arguments.value! as AnyObject).isKind(of: URL))

                        })

快速版本转换2.2到3.0之后会出现类型错误,请尽可能为我提供解决方案。

3 个答案:

答案 0 :(得分:1)

我找到了解决方案,简单

 let myDeepLinkAction: UAAction = UAAction(block: {(args:UAActionArguments, handler:UAActionCompletionHandler) -> Void in
                        handler(UAActionResult.empty())
                        }, acceptingArguments: {(arguments: UAActionArguments) in

                            if arguments.situation == UASituation.backgroundPush {

                                return true
                            }
                            return (arguments.value! is NSString || arguments.value! is URL)

                    })
  

return(arguments.value!是NSString || arguments.value!是URL)

答案 1 :(得分:0)

使用classForKeyedArchiver属性

例如:如果您想知道视图控制器是否属于某个类,请使用以下代码段

if sampleController.isKind( of : listOfFlowersViewController.classForKeyedArchiver()!)
{

//your success code here

}

答案 2 :(得分:0)

当我在xcode 8中更新为swift 3时,我遇到了这个问题

for view in subViews {
 if ((view as AnyObject).isKind(of : UIScrollView))
 {
            scrollView = view as? UIScrollView
        }

显示错误“无法调用非功能类型的值”((AnyClass) - > Bool)!“ 然后我添加了这个“classForKeyedArchiver()”            用于子视图{

中的视图
               if ((view as AnyObject).isKind(of : 
        UIScrollView().classForKeyedArchiver!))

            {

                            scrollView = view as? UIScrollView
           }

非常感谢,这对我有用。