ios - 将存储为 NSdata 的图像放入 pickerView 时发生错误

标签 ios swift uipickerview nsdata

我使用 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

当我运行它时,它总是关闭。 我认为问题是数组没有从核心数据中获取值? 真的需要帮助,请。

最佳答案

您没有正确地将表示 UIImageNSData 转换回 UIImage。因此,您尝试进行的 Actor 阵容每次都会失败。

查看this question :

给大家总结一下: 要获取 UIImage,您需要在某处添加以下行:

image = [UIImage imageWithData:data];

关于ios - 将存储为 NSdata 的图像放入 pickerView 时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666328/

相关文章:

Swift:确保 urlSession.dataTask 在传递结果之前在我的函数中完成

ios - 通过 SkAction.followPath 改变对象移动的速度(iOS)

ios - 为 iOS7 自定义 UIDatePicker 的文本颜色(就像 Mailbox 一样)

ios - 在屏幕外重绘 View - 包含选择器 View 和工具栏

ios - 如果数据类型为 URL 的变量为空,如何在 Swift 中检查?

ios - 设置在 Interface Builder 中创建的导航栏的标题

json - 使用 SwiftyJSON 处理 Alamofire 异步请求

iphone - iOS背景图UIVIew和CALayer的关系

cocoa-touch - NSDateformatter 根据 currentLocale 设置日期格式

ios - 如何为 iOS 7 创建弹出式 uipicker 和 uitextfield?