2015-02-09 25 views
0

我有這樣的對象類的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中把它轉換成一個數組......我希望它很清楚。

回答

2

你不會,你需要1.將它轉換成一個數組,然後傳遞它,或2.添加一個不同的方法,接受一個字符串,轉換它,然後調用數組setter。

選項1更好,因爲它保持了一個健全的界面,並且不會污染類別界面。

+0

嗯,那好吧,你的事情,最好的解決方案中獲得陣列回來這樣是不要碰結構物體......好的 – CrazyDev 2015-02-09 21:10:30

0

如果你真的想這樣做,才能寫出來自陣列字符串中使用

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

,並從字符串

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