的iOS:二传手在一个对象类与外部参数

的iOS:二传手在一个对象类与外部参数

问题描述:

我有这样的对象类的iOS:二传手在一个对象类与外部参数

class City { 

    var name:String 
    init(name: String) { 
     self.name = name 
    } 

    var video:String? 
    var description:String? 
    var image_array:NSArray? 
} 

在这个类中有一个名为image_array财产,我想给它指定一个NSArray,你可以阅读。 但在这种情况下,我必须在这个属性String我应该变换到一个数组传递

例如:

The string is "img1.jpg,img2.jpg,img3.jpg" 

然后我使用

let fullNameArray = fullName.componentsSeparatedByString(",") 

和我获得NSArray

那么通过这String到内的image_array的设置方法是什么对象? 然后在setter中把它转换成一个数组......我希望它很清楚。

你不会,你需要1.将它转换成一个数组,然后传递它,或2.添加一个不同的方法,接受一个字符串,转换它,然后调用数组setter。

选项1更好,因为它保持了一个健全的界面,并且不会污染类别界面。

+0

嗯,那好吧,你的事情,最好的解决方案中获得阵列回来这样是不要碰结构物体......好的 – CrazyDev 2015-02-09 21:10:30

如果你真的想这样做,才能写出来自阵列字符串中使用

var myString:String = array.description.stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "[]")) 

,并从字符串

var array:[String] = myString.componentsSeparatedByString(", ") //dont forget space character