2016-07-04 40 views
0

如何從服務器中刪除NSMutableArray中的JSON數據。如何刪除NSMutableArray的數據

var jsondata : NSMutableArray! 
func retrieve(){ 
    let requrl: NSURL = NSURL(string: "http://localhost/tara/forvbc.php")! 
    let dataurl = NSData(contentsOfURL: requrl) 
    jsondata = try! NSJSONSerialization.JSONObjectWithData(dataurl!, options: .MutableContainers) as! NSMutableArray 

} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = thview.dequeueReusableCellWithIdentifier("thecell", forIndexPath: indexPath) as UITableViewCell 
    let asdasd = jsondata[indexPath.row]\ 
    cell.textLabel?.text = jsondata["name"] as? String 
    return cell 

} 

我喜歡用commitEditingStyle

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
    if editingStyle == .Delete{ 

    } 
} 

謝謝你們的合作,將其刪除。

+0

[從的NSMutableArray卸下對象(http://stackoverflow.com/questions/2757046/removing-object-from-nsmutablearray) – Tibrogargan

+0

對不起的可能的複製,我認爲我們只有相同的標題,但是這是從一個可用的項目中刪除。 – johnyald

+0

顯示在UITable中的數據仍由MSMutableArray支持,MSMutableArray應與顯示無關。不要緊,你的數據來自最初的地方,從它刪除通常會使用'removeObjectsInArray:'或'removeObjectsAtIndexes:' – Tibrogargan

回答

0

調整commitEditingStyle代碼如下方式:

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
    if editingStyle == .Delete { 
     jsondata.removeAtIndex(indexPath.row)  
     tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic) 
    } 
} 
+0

謝謝梅達,但我認爲「jsondata.removeAtIndex indexPath.row)「僅適用於Array,它必須是」jsondata.removeObjectsAtIndex(indexPath.row)「,因爲我使用NSMutableArray, – johnyald

+0

是的,所以調整代碼,你明白了 – meda