我最近从使用Objective-C切换到Swift,现在我正面临以下 objective-c 块。 我无法弄清楚如何用 Swift(1.2)语法编写它。 这就是在objective-c中定义块的方式:
formatter = ^(CGFloat value){
// do something with value
return "stringrepresentation";
};
有人可以帮助我并告诉我正确的语法吗?
附加信息:“格式化程序”值必须为ValueFormatter
如何实现这一目标?
答案 0 :(得分:3)
看起来像这样:
let formatter = { (value: CGFloat) -> String in
// do something with value
return "the formatted thing"
}
formatter
的类型为(CGFloat) -> String
。
答案 1 :(得分:2)
看看closures。
{(/*Parameters*/) -> /*ReturnType*/ in
// Statements
}
所以这个块将是:
{(value : CGFloat) -> String in
// Do cool stuff
retun "aString"
}
答案 2 :(得分:0)
SWIFT 2
阻止声明
var myCallBack:((Bool)->Void)? = nil
阻止发回
self.myCallBack!(true)
阻止接收
myCallBack = { (isSuccess: Bool)-> () in
//perform action you want to
}