私はいくつかのプロパティ、クラスまたは構造体の配列を持つオブジェクトを持っています
これらのプロパティを配列に入れて、TableDataSource で簡単にアクセスできるようにしたい (セクション、インデックスパスなどのため)。
この初期化を書いてみました
var dataStructure = Array<Any>()
var tweet : Tweet?{
didSet{
dataStructure.removeAll()
dataStructure.append(tweet?.media)
dataStructure.append(tweet?.urls )
dataStructure.append(tweet?.hashtags)
dataStructure.append(tweet?.userMentions)
}
}
そしてそれを取得する
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
let arr = dataStructure[section] as? NSArray
if arr != nil{
println(arr!)
return arr!.count
}else{
return 0
}
}
しかし、arrは常にnilです
多分私は NSArray にキャストしているからですか?しかし、「配列」にキャストできません
media 、 urls 、 hastags 、および userMentions は「Tweet」クラスで初期化されます
public var media = [MediaItem]()
public var hashtags = [IndexedKeyword]()
public var urls = [IndexedKeyword]()
public var userMentions = [IndexedKeyword]()
したがって、それらはかなり通常の配列です