2016-05-03 11 views

Antwort

0

Hier ist ein detaillierteres Beispiel.

@interface ClassObjC2 : NSObject 

-(id)init; 
-(void)invokeCB; 

@property (nonatomic, copy) void(^scrolledCallBlock)(int); 

@end 

In der Objective-C-Implementierung:

@implementation ClassObjC2 

-(id)init { return self; } 

-(void)invokeCB { self.scrolledCallBlock(1234); } 

@end 

in Swift:

var c2 : ClassObjC2 = ClassObjC2() 

func callback(i : Int32) ->Void 
{ 
    print("Callback is called with int: \(i)") 
} 

c2.scrolledCallBlock = callback; // Commenting this line out will cause "Callback is nil" to be printed. 

if c2.scrolledCallBlock != nil 
{ 
    c2.invokeCB() 
} 
else { print("Callback is nil!!!") } 

Die in den Objective-C-Header, die Swift über das Brückenkopf verfügbar sein muß Ausgabe:

Callback is called with int: 1234