小编Joc*_*her的帖子

Alamofire 4,Swift 3和建造一个json身体

{"title":"exampleTitle","hashTags":[{"name":"tag1"},{"name":"tag2"}],"uploadFiles":
[{"fileBytes":"seriesOfBytes\n","filename":"upload.txt"}]}
Run Code Online (Sandbox Code Playgroud)

这是我想要发送到后端的我想要的身体.

我正在使用Swift 3.0和Alamofire 4,我有很多问题.

首先,我如何正确创建包含值和值数组的主体?

我的方法是:

let para:NSMutableDictionary = NSMutableDictionary()
para.setValue("exampleTitle", forKey: "title")
let jsonData = try! JSONSerialization.data(withJSONObject: para, options: .init(rawValue: 0))
let jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue) as! String
print(jsonString)
Run Code Online (Sandbox Code Playgroud)

这给了我

{"title":"exampleTitle"}
Run Code Online (Sandbox Code Playgroud)

第二,我的alamofire .post请求如下所示,并且不起作用:

Alamofire.request(postURL, method: .post, parameters: jsonString, encoding: JSONEncoding.default)
        .responseJSON { response in
            debugPrint(response)
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:调用中的额外参数'方法'.如果我而不是jsonString使用该类型的字符串

 var jsonString: [String : Any]
Run Code Online (Sandbox Code Playgroud)

它确实有效,但我不知道如何将身体放入这种类型.

总结 寻找帮助(例如将是最好的)如何创建身体,以及如何通过Alamofire 4和swift 3发送到我的后端.

json dictionary swift alamofire swift3

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

Swift 3更改日期格式

我想以DD.MM.YYYY HH:mm:ss作为字符串获取我的日期.

我使用以下扩展名:

extension Date {
var localTime: String {
    return description(with: Locale.current)
    }
}
Run Code Online (Sandbox Code Playgroud)

我的datePicker更改时的以下代码:

@IBAction func datePickerChanged(_ sender: UIDatePicker) {
    dateLabel.text = datePicker.date.localTime
    let formatter = DateFormatter()
    formatter.dateFormat = "dd.MM.yyyy hh:mm"
    let TestDateTime = formatter.date(from: datePicker.date.localTime)
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

date datepicker nsdateformatter ios swift

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

(Swift) 如何获取 documentPicker URL 的数据表示

我使用 didPickDocumentAt 函数来检索 DocumentPickerViewController 中所选文件的 url。我有一个分段上传功能,它使用 alamofire 将文件上传到后端。

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
    print(url)
    uploadMultipartFile()
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何获取我选择的文件的数据表示,以便将其传递给我的 uploadMultipartFile 函数?

文件可以是 pdf、.docx 或任何类型的文件。方法是什么?

multipart ios swift alamofire uidocumentpickerviewcontroller

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

iOS Swift 3 如何在动画完成后执行动作

我使用以下代码来确保当用户打开键盘时,它会缓慢打开并将视图向上推。

func keyboardWasShown(notification: NSNotification){
    tableViewChat?.tableView.isScrollEnabled = true
    let info2 = notification.userInfo!
    let keyboardFrame: CGRect = (info2[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue

    UIView.animate(withDuration: 4, animations: { () -> Void in
        self.bottomConstraint.constant = keyboardFrame.size.height - self.navigationController!.navigationBar.frame.height
    })
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都像魅力一样发挥作用。现在我想在动画完成后执行这一行。

self.tableViewChat?.scrollToLastRow(animationBool: true)
Run Code Online (Sandbox Code Playgroud)

如果动画未完全执行,则表视图将无法向下滚动足够的距离。animate执行后如何执行scrollToLastRow?

感谢您的帮助和评论!

scroll uikit ios swift swift3

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