显示NSObject的图像

时间:2016-06-24 07:35:28

标签: ios image uiimageview uiimage nsobject

我无法理解如何将图片添加到NSObject,然后将其显示在viewController中。我有一个NSObject,其中有一串字符串显示在viewController的标签中,并希望在UIImageView中添加一张图片,我通过storyboard添加了该图片。我怎样才能做到这一点?我对如何使用UIImageUImageView感到困惑,我已将图片添加到assets

这是我的“测试”代码 - 它不起作用:

@IBOutlet weak var Label1: UILabel!
@IBOutlet weak var Label2: UILabel!
@IBOutlet weak var image: UIImageView!

 class myobject: NSObject {
        var String1 : String
        var String2  : String
        var uiimage : UIImage

        init(String1 : String, String2 : String, uiimage : UIImage
            ) {
            self.String1 = String1
            self.String2 = String2
            self.uiimage = uiimage
        }
    }
 let array = [
        array(String1: "test1", String2: "test2", uiimage: UIImage(named:"Buddha")! 
        ),

   ]

    let range: UInt32 = UInt32(array.count)
    let randomNumber = Int(arc4random_uniform(range))
    let choosen = array[randomNumber]
    let String1c = choosen.String1
    let String2c = choosen.String2
    let imageString = array.uiimage

    self.Label1.text = String1c
    self.Label2.text = String2c

    let imageView =  UIImageView(image: imageString!)
    self.image.image = imageView

谢谢,我非常感谢所有的帮助:)

1 个答案:

答案 0 :(得分:2)

我不清楚你。如果你想将UIImage(图像)添加到UIImageView(imageView),只需执行此操作“imageView.image = image”。这是您的测试代码,由我更改。

import UIKit

class MyObject: NSObject {
    var string1: String
    var string2: String
    var image: UIImage

    init(string1 : String, string2 : String, image: UIImage
        ) {
        self.string1 = string1
        self.string2 = string2
        self.image = image
    }
}

class ViewController: UIViewController {

    @IBOutlet weak var label1: UILabel!
    @IBOutlet weak var label2: UILabel!
    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let myObject = MyObject(string1: "test1", string2: "test2", image: UIImage(named:"Buddha")!);
        let array = [myObject]

        let range: UInt32 = UInt32(array.count)
        let randomNumber = Int(arc4random_uniform(range))
        let choosen = array[randomNumber]
        let choosenStr1 = choosen.string1
        let choosenStr2 = choosen.string2
        let image = choosen.image

        label1.text = choosenStr1
        label2.text = choosenStr2
        // just do this
        imageView.image = image;
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

而且我认为你应该看看这个 UIImageView in apple's document