小编Sah*_*hil的帖子

设置Alamofire自定义目标文件名,而不是使用suggestDownloadDestination

我在桌面视图中获得了许多发票文件列表以及每个单元格中的许多下载按钮.当我单击其中一个时,它将下载发票文件.但问题是服务器响应建议文件名是"发票". 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)

download nsfilemanager swift alamofire swift3

8
推荐指数
1
解决办法
5028
查看次数

扩展协议以满足多个约束之一

我想扩展协议以满足多个约束之一.我知道如何使用(,)满足多个约束,但这符合所有约束.

例:

protocol Abc { ... }
protocol xyz { ... }
protocol my  { ... }

extenstion  Abc where Self: xyz, Self: my {
...

}
Run Code Online (Sandbox Code Playgroud)

我想要Abc符合xyzmy.

swift

5
推荐指数
1
解决办法
305
查看次数

将 UIButton 上标题右侧的图像与 imageEdgeInsets 和 titleEdgeInsets 对齐

我想在标题右侧添加一个图像,如下所示

|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)

但是当标题很大时,标题标签和图像会相互交叉。如何打破标题标签?

iphone uibutton ios swift

3
推荐指数
1
解决办法
1万
查看次数

满足if let结构中的多个约束之一

我想在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值任何成功解包和标志为真然后代码执行

swift

1
推荐指数
1
解决办法
82
查看次数

如何创建像 IBInspectable 属性这样的段控件?

在此处输入图片说明我想创建像段控件这样的自定义控件但我无法理解如何创建这种SegmentIBInspectable 属性。我的意思是它的元素根据Segments. 据我所知,不支持@IBInspectable.

ios swift ibdesignable ibinspectable swift3

1
推荐指数
1
解决办法
1245
查看次数

如何在Swift3中获取对象类型

代码如下,在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)

ios swift

1
推荐指数
1
解决办法
3606
查看次数