我正在使用swift 2.0和Parse Backend将我的Android应用程序转换为IOS应用程序,我只想知道相当于此代码:
代码
InputStream rawData = (InputStream) new URL(https_url).getContent();
Bitmap UniqueQRCode = BitmapFactory.decodeStream(rawData);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
// Compress image to lower quality scale 1 - 100
UniqueQRCode.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] image = stream.toByteArray();
答案 0 :(得分:0)
最好在iOS上进行异步调用。这将导致更具响应性的应用程序。
以下是从网络下载图片并将其显示在UIImageView
中的简单示例:
class ViewController: UIViewController
{
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
if let url = NSURL(string: "https://mozorg.cdn.mozilla.net/media/img/firefox/new/header-firefox-high-res.d121992bf56c.png") {
let task = NSURLSession.sharedSession().dataTaskWithRequest(NSURLRequest(URL: url)) { (data, response, error) -> Void in
if error == nil && data != nil { // Needs better error handling based on what your server returns
if let image = UIImage(data: data!) {
dispatch_async(dispatch_get_main_queue()) {
self.imageView.image = image
}
}
}
}
task.resume()
}
}
}
如果您在iOS 9上运行此功能,则需要在应用程序的NSAllowsArbitraryLoads
中将YES
设置为Info.plist
。有很多关于这一点的帖子更详细。