IOS学习 --- Swift 对于plist文件的读写

medicine.plist
customer medicine plist

//System Medicine Name
        var plistPath = NSBundle.mainBundle().pathForResource("Medicine", ofType: "plist")
        var array = NSArray(contentsOfFile: plistPath!)
        for temDic in array!{
            var dic = temDic as! NSDictionary
            var medicineName = dic.objectForKey("name") as! String
            medicineArray += [medicineName]
        }
        //Customer Medicine Name
        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
        let documentsDirectory = paths.objectAtIndex(0) as! NSString
        let path = documentsDirectory.stringByAppendingPathComponent("customerMedicine")
        if NSFileManager.defaultManager().fileExistsAtPath(path){
            var customerArray = NSArray(contentsOfFile: path)
            if let realArray = customerArray{
                medicineArray = medicineArray + (realArray as! [(String)])
            }
        }
if alert.tag == deleteMedicineTag{
//删除tableView对应的cell
            medicineArray.removeAtIndex(deleteMedicineNumber)
            //System Medicine Name
            var plistPath = NSBundle.mainBundle().pathForResource("Medicine", ofType: "plist")
            var array = NSArray(contentsOfFile: plistPath!)!
            var customerMedicineIndex = deleteMedicineNumber - array.count
            let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
            let documentsDirectory = paths.objectAtIndex(0) as! NSString//获取第一个元素
            let path = documentsDirectory.stringByAppendingPathComponent("customerMedicine")
            var newMedinineArray = NSMutableArray()
            if NSFileManager.defaultManager().fileExistsAtPath(path){
                var oldArray = NSArray(contentsOfFile: path)
                if let realArray = oldArray{
                    newMedinineArray.addObjectsFromArray(realArray as [AnyObject])
                }
            }
            newMedinineArray.removeObjectAtIndex(customerMedicineIndex)
            newMedinineArray.writeToFile(path, atomically: false)
        }

        if alert.tag == addMedicineAlertTag{
        //*********************************
        //向plist文件增加内容
            let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
            let documentsDirectory = paths.objectAtIndex(0) as! NSString
            let path = documentsDirectory.stringByAppendingPathComponent("customerMedicine")
            //文件路径
            var newMedinineArray = NSMutableArray()
            if NSFileManager.defaultManager().fileExistsAtPath(path){
                var oldArray = NSArray(contentsOfFile: path)
                if let realArray = oldArray{
                    newMedinineArray.addObjectsFromArray(realArray as [AnyObject])
                }
            }
            newMedinineArray.addObject(addMedicineAlert.customerTextField.text)//括号内为需要增加的内容
            newMedinineArray.writeToFile(path, atomically: false)
            medicineArray = [String]()
//***************************************
            initMedicineArray()
        }
        self.tableView.reloadData()

猜你喜欢

转载自blog.csdn.net/MickeyChen_/article/details/45580487