gpt4 book ai didi

ios - 如何让我的事件指示器在正确的时间启动?

转载 作者:搜寻专家 更新时间:2023-10-31 22:49:55 26 4
gpt4 key购买 nike

从我读到的所有内容中,您可以使用按钮激活它,所以我将它放在启动 http POST 和上传的按钮操作之后,但现在它在功能完成后立即开始旋转,上传完成后,与我的预期相反。
我是 Swift 的新手,所以请像对待 nubie 一样解释你的答案。非常感谢。

@IBAction func upload(sender: AnyObject) {

myActivityIndicator.startAnimating()

var imageData = UIImagePNGRepresentation(myImageView.image)

if imageData != nil{
var request = NSMutableURLRequest(URL: NSURL(string:"http://www.example.com/upload.php")!)

var session = NSURLSession.sharedSession()

request.HTTPMethod = "POST"

var boundary = NSString(format: "---------------------------14737809831466499882746641449")
var contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
// println("Content Type \(contentType)")
request.addValue(contentType, forHTTPHeaderField: "Content-Type")

var body = NSMutableData.alloc()

// Title
body.appendData(NSString(format: "\r\n--%@\r\n",boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"title\"\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData("Hello World".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)

// Image
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"profile_img\"; filename=\"img.jpg\"\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
// println("body=\(body)")
body.appendData(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(imageData)
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)



request.HTTPBody = body


var returnData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)

var returnString = NSString(data: returnData!, encoding: NSUTF8StringEncoding)

println("returnString \(returnString)")

//self.myActivityIndicator.stopAnimating()
//self.myImageView.image = nil

}


}

最佳答案

试试这个

myActivityIndicator.startAnimating()        
dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_USER_INITIATED.value), 0)) {
//Do your post code here or call the post func
dispatch_async(dispatch_get_main_queue()) {
myActivityIndicator.stopAnimating()
}
}

http://ijoshsmith.com/2014/07/29/a-swift-app-that-calls-json-web-services/ http://www.raywenderlich.com/79149/grand-central-dispatch-tutorial-swift-part-1

关于ios - 如何让我的事件指示器在正确的时间启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com