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

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -