2015-06-13 54 views
2

如何根據Core Data Array中的匹配字符串值在UITableview中選擇多個單元格?根據字符串數組在UITableView中的viewdidload上選擇單元格(Swift)

我保存了以前選擇的行(As String),但現在當我再次加載表時,我希望再次選擇所有內容。我無法找到或想到任何解決方案。

陣:

var category:[String] = ["News", "Sport", "Weather", "Earth", "Future", "Shop", "TV", "Radio", "Food", "Music", "Travel", "Local", "Nature", "Venue", "Money"] 

我揣摩selectRowAtIndexPath但我沒有看到它在斯威夫特。

這是我如何從核心數據獲取我的數據

func fetchData(){ 
     let entityDescription = NSEntityDescription.entityForName("UserSettings", inManagedObjectContext: Context!) 
     let request = NSFetchRequest() 
     request.entity = entityDescription 
     var dataObjects: [AnyObject]? 
     do { 
      dataObjects = try Context?.executeFetchRequest(request) 
     } catch let error as NSError { 
      print(error) 
      dataObjects = nil 
     } 

     //CAN I UPDATE THE TABLE SELECTION FROM THE FETCH? 
     for result in dataObjects as! [NSManagedObject] { 
     print(result.valueForKey("favCategory")!) 

     } 
    } 

UPDATE 我如何能得到這個選擇上串基地儲存在覈心數據(在viewDidLoad中多選)

let rowToSelect:NSIndexPath = NSIndexPath(forRow: 0, inSection: 0); //slecting 0th row with 0th section 
self.tableView.selectRowAtIndexPath(rowToSelect, animated: true, scrollPosition: UITableViewScrollPosition.None); 
+0

就是你能選擇的視覺效果意味着 – Wingzero

+0

不是視覺效果,實際的選擇。好吧,我有一個數組中有一堆值(請參閱問題),我也有一個UITabelView具有相同的值組,在數組中,現在當有人點擊每個單元格的值存儲在覈心數據(I直到這裏),現在我想知道如何選擇即使當我離開UITableView並返回更多選擇+已存儲在覈心數據中的選擇。我希望我很清楚。我已經創建了一個提取請求,根據這些數據,應該選擇這些單元格。 – Xrait

回答

2

您無法選擇viewDidLoad上的單元格,因爲tableView尚未在viewDidLoad中加載。你應該一個布爾變量存儲爲您的數據源的標誌,那麼作爲更新cellForRowAtIndexPath:方法:??

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! YourCustomCell 

    let object = self.dataObjects[indexPath.row] as! YourObject 
    cell.selected = object.isSelected 

    return cell 
} 
相關問題