I'm following an apple document, but unfortunately the examples are written on objective-c, but I have confidence with Swift language and can not understand the meaning of some things, in particular, in this example:
void RunLoopSourcesPerformRoutine (void *info){
RunLoopSource* obj = (RunLoopSource*)info;
[obj sourceFired];
}
this line: RunLoopSource* obj = (RunLoopSource*)info;
the parameter: void *info
indicates that info
is a pointer to void, then I can put the address of any type of data structure, following various apple documents I saw that the translation of this : void *info
into swift language is :
info: UnsafeMutableRawPointer?
Now, the RunLoopSource* obj = (RunLoopSource*)info;
line indicates that obj is a variable of type: RunLoopSource, and to this is assigned the value of (RunLoopSource *) info
, but precisely What does it mean this statement? : (RunLoopSource *) info
, and how it translates in swift language ?