使用Realm在swift中保存图像数组

时间:2015-12-11 17:29:37

标签: ios arrays swift realm

好吧,我有一个带3个视图控制器的应用程序,其中2个我有5个图像阵列。我想要做的是使用领域保存每个图像阵列。数组是可变的,用户将图像添加到他们在vc1中选择的数组,并可以将它们发送到vc2中的数组,但我不确定我是否可以替换(在vc1中) 这个:

var array: [UIImage] = [] {

    didSet{

        cView1.reloadData()


    }
}

用这个:

dynamic var array: [UIImage] = [] {

    didSet{

        cView1.reloadData()


    }
}

当我尝试继承RLMObject时,我也收到此错误。 “来自类uiviewcontroller和RLMObject的多重继承” 这是我的代码

 class CViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UICollectionViewDelegate, UICollectionViewDataSource, CDelegate , RLMObject 

我对ios的开发相当新,所以任何一点点都有助于提前感谢

1 个答案:

答案 0 :(得分:1)

最好的方法是在DB中保存文件路径,而不是图像本身。因此,您需要创建图像路径数组而不是图像数组。像这样:let images = List<String>()

同样根据Realm Docs&#39;列表&#39;不能动态:​​

  

当在Object模型中添加为属性时,该属性必须声明为let,不能是动态的。

最后,你必须继承对象&#39;而不是&#39; RLMObject&#39;和Realm类必须分开,就像在这个官方例子中一样:

class Dog: Object {
    dynamic var name: String = ""
    dynamic var adopted: Bool = false
    let siblings = List<Dog>()
}