sud*_*udo 5 enums objective-c swift
有一些Objective-C库具有将整数枚举选项作为参数的函数,但是如果你想要默认选项,它们希望你传入0,这是典型的.但是在Swift中,这是不允许的,因为库指定了枚举类型.有没有什么方法可以在库中添加一个0枚举选项然后制作桥接代码以使其ObjC枚举在Swift中工作?
以下SDWebImageManager是iPhone应用程序中的示例:
SDWebImageManager.sharedManager().downloadWithURL(url, options: 0, progress: nil) { (image:UIImage!, error:NSError!, cacheType:SDImageCacheType, finished:Bool) -> Void in
// block code here
}
Run Code Online (Sandbox Code Playgroud)
Xcode会指出一个错误,options: 0因为它说'Int' is not convertible to SDWebImageOptions.我尝试了类似下面的内容,但是我得到了同样的错误:
let emptyOptions:SDWebImageOptions = 0
Run Code Online (Sandbox Code Playgroud)
从Swift 2开始,选项集的语法被更改为使用数组文字.因此,如果您不想传递任何选项,则传递一个空列表:
SDWebImageManager.sharedManager().downloadWithURL(url, options: [], progress: nil) { (image:UIImage!, error:NSError!, cacheType:SDImageCacheType, finished:Bool) -> Void in
// code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |