天哪,我一生都无法工作。
typdef
,看起来像这样:typedef void (^StringBlock)(NSString * string);
StringBlock
类型的块。该属性在Objective-C中声明为:@property (nonatomic, copy) StringBlock onTextSubmitBlock;
input.onTextSubmitBlock = ^(NSString * text) {
};
input!.onTextSubmitBlock = {(StringBlock) in
}
可以编译,但是我无法访问所需的参数(objective-c中的
(NSString * text)
...)我敢肯定,一旦我习惯了Swift,这会很明显,但是我想念的是什么?
最佳答案
你很亲密您应该能够像这样使用它:
input!.onTextSubmitBlock = { text in
println(text)
}
Swift将从声明中推断
text
是NSString
。 Thera是您也可以声明这两种方法。像这样:input!.onTextSubmitBlock = {
println($0) // $0 is text
}
还有这个:
input!.onTextSubmitBlock = { (text: NSString) -> () in
println(text)
}