2015-02-09 1 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 внутри City объект? Тогда внутри сеттера, чтобы преобразовать его в массив ... Надеюсь, что это понятно.

ответ

2

Вы не должны: 1. преобразовать его в массив, а затем передать его, или 2. добавить другой метод, который принимает строку, преобразует ее, а затем вызывает set set.

Вариант 1. лучше, поскольку он поддерживает разумный интерфейс и не загрязняет интерфейс класса crud из других классов.

+0

ттт нормально, то вы вещь, что лучшее решение это не касаться объекта структуры ... ok – CrazyDev

0

Если вы действительно хотите сделать это таким образом, чтобы написать строку из массива использовать

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

и получить массив обратно из строки

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