2016-12-18 1 views
-3
import UIKit 
import RealmSwift 
class ViewController: UIViewController , UITableViewDataSource , UITableViewDelegate { 
    @IBOutlet weak var text1: UITextField! 
    @IBOutlet weak var text2: UITextField! 
    @IBOutlet weak var ttableview: UITableView! 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return array1.count 
    } 
    func ttableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return array1.count 
    } 

    ///// 
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = ttableview.dequeueReusableCell(withIdentifier: "cell") as! Cell 
      cell.lable1.text = array1[indexPath.row] 
      cell.lable2.text = array2[indexPath.row] 
      return cell 
    } 
    ///// 

    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { 
     if editingStyle == .delete { 

      //this delet Realm 
      let cat1 = array1[indexPath.row] 
      let cat2 = array2[indexPath.row] 
      let realm = try! Realm() 
      try realm.write { 
       realm.delete(cat1) 
       realm.delete(cat2) 
      } 



      //this delete table view row and array 
      array1.remove(at: indexPath.row) 
      array2.remove(at: indexPath.row) 
      ttableview.deleteRows(at: [indexPath], with: .fade) 
     } 
    } 

    var array1 = [String]() 
    var array2 = [String]() 
    /////////////////// 

    //add 2 text filed in tableview 
    @IBAction func Add(_ sender: Any) { 
       addCat() 
       array1.insert(text1.text!, at: 0) 
       array2.insert(text2.text!, at: 0) 
       self.ttableview.reloadData() 
    } 
    ///////////// 

    func addCat(){ 
     let realm = try! Realm() 
     let mike = CCat() 
     mike.name = (text1.text!) 
     mike.job = (text2.text!) 
     try! realm.write { 
      realm.add(mike) 
      //print(" \(mike.name) and \(mike.job)") 
     } 
    } 
    //////////////// 
    func queryPeople(){ 
     let realm = try! Realm() 
     let allPeople = realm.objects(CCat.self) 
     // var byname = allPeople.sorted(byProperty: "name", ascending: false) 
     for person in allPeople { 
      array1.insert(person.name, at: 0) 
      array2.insert(person.job, at: 0) 
      print("\(person.name) to \(person.job)") 
      ttableview.reloadData() 
     } 
    } 
    /////////////////// 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     ttableview.delegate = self 
     ttableview.dataSource = self 

     // addCat() 
     queryPeople() 
    } 

enter image description hereComment supprimer Realm? Je ne peux pas être supprimé

+0

résoudre votre question (exemple de code) et ajouter des informations sur ce que vous faites. –

+0

Envisager de lire la documentation officielle, il répond probablement à votre question https://realm.io/docs/swift/latest/ – EpicPandaForce

Répondre

0

Les objets stockés dans Realm sont de CCat classe (qui hérite de l'espérons Object), d'où vous pouvez les écrire (add) à la base de données Royaume.

Mais comme le dit le Xcode, vous essayez de supprimer un String du domaine. Ce qui n'est pas possible.