ios - Implementing a c function callback in Swift 2.0? -
cfreadstreamsetclient
has c-function callback (cfreadstreamclientcallback
) in it's initializer,
cfreadstreamclientcallback
looks this:
typealias cfreadstreamclientcallback = (cfreadstream!, cfstreameventtype, unsafemutablepointer<void>) -> void
i have method attempts handle cfreadstreamclientcallback
c-function callback:
func callback(stream: cfreadstreamref, eventtype: cfstreameventtype, inclientinfo: unsafemutablepointer<void>) { }
but when attempt set callback in cfreadstreamcallback
follows, doesn't compile.
cfreadstreamsetclient(stream, registeredevents, callback, clientcontextptr)
i know swift 2.0 there's way use swift closures c-function callbacks cant seem work. know how can done in situation?
you can make closure in function this:
cfreadstreamsetclient(stream, registeredevents, { readstream, event, data -> void in // stuff here. }, clientcontextptr)
also note c function blocks can't have context can't access self, or other variable outside block. if doesn't work can include compiler error in question?
Comments
Post a Comment