我使用 core Data 将图像存储为 NSdata
,因此图像将从另一个 TableViewController
存储
现在,我尝试将存储为 NSData
的图像放入 pickerView
var restaurants:Restaurant!
var imageArray = [NSData]()
var dataArray1 = [Int]()
override func viewDidLoad() {
super.viewDidLoad()
imageArray = [restaurants.image!]
for(var i = 0; i < 100; i++) {
dataArray1.append((Int)(arc4random() % 10))
}
resultLabel.text = ""
pickerView.delegate = self
pickerView.dataSource = self
}
@IBAction func buttonClicked(sender: AnyObject) {
pickerView.selectRow(Int(arc4random())%94 + 3, inComponent: 0, animated: true)
}
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {
let pickerImage = UIImageView()
if component == 0 {
_ = imageArray[(Int)(dataArray1[row])]
}
return pickerImage
}
它看起来像下面的 View ,但里面的图像应该是我的NSData
文件
http://www.appcoda.com.tw/wp-content/uploads/2015/08/emoji-slotmachine.gif
当我运行它时,它总是关闭。 我认为问题是数组没有从核心数据中获取值? 真的需要帮助,请。
最佳答案
您没有正确地将表示 UIImage
的 NSData
转换回 UIImage
。因此,您尝试进行的 Actor 阵容每次都会失败。
查看this question :
给大家总结一下:
要获取 UIImage
,您需要在某处添加以下行:
image = [UIImage imageWithData:data];
关于ios - 将存储为 NSdata 的图像放入 pickerView 时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666328/