我在桌面视图中获得了许多发票文件列表以及每个单元格中的许多下载按钮.当我单击其中一个时,它将下载发票文件.但问题是服务器响应建议文件名是"发票". pdf"在我下载的每个文件中.因此,我需要手动编辑文件名,然后在下载后保存到文档.所以,如何在成功下载后手动编辑文件名,并将其作为临时文件保存在文档中使用Alamofire.Request.suggestedDownloadDestination.
这是我的下载功能.
func downloadInvoice(invoice: Invoice, completionHandler: (Double?, NSError?) -> Void) {
guard isInvoiceDownloaded(invoice) == false else {
completionHandler(1.0, nil) // already have it
return
}
let params = [
"AccessToken" : “xadijdiwjad12121”]
// Can’t use the destination file anymore because my server only return one file name “invoice.pdf” no matter which file i gonna download
// So I have to manually edit my file name which i saved after it was downloaded.
let destination = Alamofire.Request.suggestedDownloadDestination(directory: .DocumentDirectory, …Run Code Online (Sandbox Code Playgroud) 我想扩展协议以满足多个约束之一.我知道如何使用(,)满足多个约束,但这符合所有约束.
例:
protocol Abc { ... }
protocol xyz { ... }
protocol my { ... }
extenstion Abc where Self: xyz, Self: my {
...
}
Run Code Online (Sandbox Code Playgroud)
我想要Abc符合xyz或my.
我想在标题右侧添加一个图像,如下所示
|Button [image]|
|title |
Run Code Online (Sandbox Code Playgroud)
我可以通过这段代码来实现这一点
button.titleEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0)
button.imageEdgeInsets = UIEdgeInsetsMake(0, 135, 0, 5)
Run Code Online (Sandbox Code Playgroud)
但是当标题很大时,标题标签和图像会相互交叉。如何打破标题标签?
我想在if结构中满足多个约束.我知道我们可以使用","(逗号)来解包多个值,但它们都必须成功解包.
例如 :
var str: String? = "Hello"
var x: Int? = 10
if let intValue = x, stringValue = str {
// do something here.
} else {
}
Run Code Online (Sandbox Code Playgroud)
我想如果其中一个条件成功解包,则会执行一个块.例如:
class CustomClass {
var x = 10
static func someValue() -> String? {
return "some"
}
}
var flag: Bool? = false
var x: Int? = 10
var status: String
Run Code Online (Sandbox Code Playgroud)
在这个我想要的任何一个customclass someValue函数或x值任何成功解包和标志为真然后代码执行
代码如下,在OC中使用[touch.view类]获取对象类型,在Swift 3中如何获取它.
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
} else {
return YES;
}
}
Run Code Online (Sandbox Code Playgroud)