swift - Searching for objects matching a particular type -


i've got nsviewcontroller extension iterates through descendant child view controllers looking first view controller passes particular test (specified user-defined block):

extension nsviewcontroller {      func descendantviewcontrollerpassingtest(test: (viewcontroller: nsviewcontroller) -> bool) -> nsviewcontroller? {         var retval: nsviewcontroller?         childviewcontroller in childviewcontrollers {             if test(viewcontroller: childviewcontroller) {                 retval = childviewcontroller             } else if let descendantviewcontroller = viewcontroller.descendantviewcontrollerpassingtest(test)  {                 retval = descendantviewcontroller             }             if retval != nil { break }         }         return retval     } } 

ninety-nine percent of time tests consist of simple type-check...

contentviewcontroller.descendantviewcontrollerpassingtest {$0 outlineviewcontroller} 

...so i'd create short convenience extension this:

extension nsviewcontroller {     func descendantviewcontrollermatchingtype(type: what_here?) {         return descendantviewcontrollerpassingtest({ $0 what_here? })     } } 

but can't work out type parameter type should be. i've tried anyclass , anyobject compiler informs me these aren't types:

enter image description here

closures i'd use. pass in object closure return type of bool. use closure match descendant recursively.


Comments

Popular posts from this blog

ios - Is 'init' forbidden as *part* of a variable name? -

javascript - Why Selenium can't find an element that is graphically visible -

qt - Microsoft FTP Service 451 The parameter is incorrect -