2016-11-24 2 views
1

Я должен показать галочку, прежде чем я выбрал для некоторых значений массива, я должен показать галочку для значения массива 1 и ни для 0.How сделать that..check код ниже:Как показать Checkmark в таблице view swift?

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
{ 

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) 
    cell.textLabel?.text = AllItems[indexPath.row] as? String 
    for dict1 in selectedItems 
    { 
     if Intvalues == dict1 as? NSObject { 
      // I have to show CheckMark 
} 
      else if ZeroIntvalues == dict1 as? NSObject 
     { 
      // I don’t need to show CheckMark 



     } 
    } 
    cell.textLabel?.textColor = UIColor.whiteColor() 
    return cell 
} 
+0

AllItems = [ "БМВ", "Ауди", "Фольксваген"] SelectedItems = [ «1»,»0” , "1"] Intvalues ​​= 1 ZeroIntvalues ​​= 0 –

+0

Вы, разумеется, не хотите цикл for в cellForRowAtIndexPath. Вы должны использовать indexPath для индексации в массив – Paulw11

+0

Спасибо за исправление моих ошибок –

ответ

3

Из-за причины @ Paulw11 сказал, что ваш код неверен. Каждый tableViewCell отображается галочкой, потому что последний объект цикла for всегда равен 1.

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
{ 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) 
    cell.textLabel?.text = AllItems[indexPath.row] as? String 
     if Intvalues == AllItems[indexPath.row] as? Int { 
      // I have to show CheckMark 
      cell.accessoryType = .Checkmark 
     } else { 
      cell.accessoryType = .None 
     } 
    cell.textLabel?.textColor = UIColor.whiteColor() 
    return cell 
} 
+0

Благодарим вас за исправление моих ошибок ... Сейчас это работает. –

+0

Добро пожаловать: D. – nynohu

1

Tableview клетка имеет вспомогательный тип, Используйте это в tableviewCellForRowAtIndexPath

cell.accessoryType = UITableViewCellAccessoryCheckmark; 
+0

AllItems = ["BMW", "Audi", "Volkswagen"] selectedItems = ["1", "0", "1"] Intvalues ​​= 1 ZeroIntvalues ​​= 0 ....... Я пробовал эту ячейку.accessoryType = UITableViewCellAccessoryCheckmark; но он отображает галочку для всей ячейки –

+0

Если вопрос задан в Swift, вы должны действительно предоставить ответ в Swift, а также ... –

1

вы показываете галочку, как показано ниже.

cell.accessoryType = .None 
if Intvalues == dict1 as? NSObject { 
    // I have to show CheckMark 
    cell.accessoryType = .Checkmark 
} 
+0

Я пробовал это ... Но он отображает галочку для всех ячеек, если я перехожу на None 'не отображать галочку .... Я хочу показать конкретный массив. –

+0

Благодарим вас за исправление ошибок –

1

Вот такой подход, который я использовал в моем приложении,

Если вы используете веб-сервиса, то после вызова WebService реализовать эту логику:

этот код в WebService вызова раздела:

for i in 0..<arrNL.count { 
    let dict = arrNL[i].mutableCopy() as! NSMutableDictionary 
    dict.setObject("0", forKey: "isChecked") 
    self.arrNotificationList.addObject(dict) 
} 
// Here 0 indicates that initially all are uncheck. 

Теперь управлять состояние в CellForRowAtIndexPath:

let dict = arrNotificationList[indexPath.row] as! NSDictionary 
if(dict["isChecked"] as! String == "0") { // Unchecked 
    cell.btn_CheckUnCheck.setImage(UIImage(named: "uncheck"), forState: UIControlState.Normal) 
} else { // Checked 
    cell.btn_CheckUnCheck.setImage(UIImage(named: "check"), forState: UIControlState.Normal) 
} 
// in this condition you can manage check uncheck status  

Теперь код для кнопки, из которого можно установить или снять его

let dict = arrNotificationList[indexValue] as! NSMutableDictionary 
if(dict["isChecked"] as! String == "1") { 
    dict.setObject("0", forKey: "isChecked") 
} else { 
    dict.setObject("1", forKey: "isChecked") 
} 
arrNotificationList.replaceObjectAtIndex(indexValue, withObject: dict) 
tblView.reloadData() 
+0

Благодарим вас за исправление ошибок –

+0

:) Больше всего Добро пожаловать ..... –

Смежные вопросы