【发布时间】:2017-06-22 09:59:49
【问题描述】:
我遇到了一个奇怪的行为:
一个 imagePicker 返回一个 PHAsset,我执行以下操作并设法用数据中的图像呈现一个 imageView:
asset.requestContentEditingInput(with: PHContentEditingInputRequestOptions()) { (input, _) in
let url = input?.fullSizeImageURL
let imgV = UIImageView()
let test_url = URL(string: (url?.absoluteString)!)
print("><><><^^^><><>\(test_url)")
//prints: ><><><^^^><><>Optional(file:///var/mobile/Media/DCIM/107APPLE/IMG_7242.JPG)
let data = NSData(contentsOf: test_url! as URL)
imgV.image = UIImage(data: data! as Data)
imgV.backgroundColor = UIColor.cyan
att.imageLocalURL = url?.absoluteString//// saving the string to use in the other class
imgV.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
self.view.addSubview(imgV) /// just to test that the file exists and can produce an image
但是,当我在另一个班级中执行以下操作时:
if((NSURL( string: self.attachment.imageLocalURL! ) as URL!).isFileURL)// checking if is Local URL
{
let test_url = URL(string: self.attachment.imageLocalURL!) // reading the value stored from before
print("><><><^^^><><>\(test_url)")
//prints :><><><^^^><><>Optional(file:///var/mobile/Media/DCIM/107APPLE/IMG_7242.JPG)
let data = NSData(contentsOf: test_url! as URL)
imageView.image = UIImage(data: data! as Data)
}
数据为零!我在做什么错,两种情况下 URL 的字符串都是相同的!
【问题讨论】:
-
您是否尝试过使用断点并逐步查看它产生意外结果的地方?
-
Class A: url_a -> string_a -> data -> image,但是 Class B: string_a -> data -> nil,这是意外行为。
标签: ios swift image nsurl phasset