特定のuitableviewcellのリロード時にcell内のawakeFromNibが呼ばれない
お世話になります
そもそも実装が間違ってるのかもしれないのですが、質問させてください
uitableviewcellで使うデータを別画面で作成して戻ってきた際に、特定のcellだけ更新作業を走らせようとしてるのですが、どうもうまく行きません
//こだわりだけリロード
func updateOtherKodawari(){
let indexpath = NSIndexPath(forRow: 0, inSection: 5)
self.appdelegate.shotvm.readData()
self.menuview.beginUpdates()
self.menuview.reloadRowsAtIndexPaths([indexpath], withRowAnimation: UITableViewRowAnimation.None)
self.menuview.endUpdates()
}
ここだけリロードさせたくしておりまして
case 5:
let cell: OtherKodawariCell = tableView.dequeueReusableCellWithIdentifier("OtherKodawariCell", forIndexPath: indexPath) as! OtherKodawariCell
return cell
こんな感じで、cellは書いてあります。
cell内では以下のようにしてありまして
import UIKit
class OtherKodawariCell: UITableViewCell {
weak var appdelegate:AppDelegate!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.appdelegate = AppDelegate.sharedAppDelegate()
setUp()
}
func setUp(){
var x = 0
let top_margin_x = 8
let margin_x = 10
var y = 5
let margin_y = 5
let screen = UIScreen.mainScreen()
let width = Int((screen.bounds.size.width-30)/2)
let height = 20
let ary_other_name_kodawari = self.appdelegate.appCode.dic_cond?.objectForKey("ary_other_name_kodawari") as? NSArray
let ary_other_kodawari = self.appdelegate.appCode.dic_cond?.objectForKey("ary_other_kodawari") as? NSArray
//空の場合は終了
if ary_other_name_kodawari != nil{
if ary_other_name_kodawari!.count == 0{
return
}
}else{
return
}
if let array = ary_other_kodawari{
var i = 0
for code in array{
if i%2 == 0 && i != 0{
y += margin_y+height
x = top_margin_x
}else if i == 0{
x += top_margin_x
}
let text: AnyObject? = ary_other_name_kodawari?.objectAtIndex(i)
if let font = UIFont(name: "HiraKakuProN-W6", size: 10){
let size:CGSize = text!.sizeWithAttributes([NSFontAttributeName:font])
let tagview = TagView(frame: CGRect(x: x, y: y, width: width, height: height))
tagview.setUp(text! as! String, withfont: font, withsize: size)
self.addSubview(tagview)
x += width
}
x += margin_x
i += 1
}
}
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
自分のイメージだと、cellがcellのリロードでcellが再生成されて、cell内のawakeFromNibが呼ばれるのかなと思っているのですが、違うのでしょうか
よろしくお願い致します