Я использую основные данные в своем приложении. Когда я запускаю свое приложение, если включено подключение к Интернету, я получаю данные из службы, удаляю все данные и добавляю новые. Но каждый раз, когда я запускаю свое приложение в автономном режиме, я вижу пустую ячейку в моем представлении таблицы. Я не знаю причину, но когда я получаю данные из службы, например, если есть 3 элемента, они добавляют 3 и плюс один пустой. Вот почему я вижу одну (иногда еще одну) пустую ячейку и 3 ячейки с элементами в моем представлении таблицы. Вот мой код нижеПустая ячейка в swift
func product (token : NSString, code : NSString) {
let manager = AFHTTPRequestOperationManager()
var params : Dictionary = ["token" : token, "code" : code]
self.deleteAllInCoreData()
manager.GET(url, parameters: params, success: { (operation: AFHTTPRequestOperation!, responseObject) in
println("JSON: " + responseObject.description)
var response = responseObject.objectForKey("response") as? NSString
if response == "true" {
var responseDict = responseObject.objectForKey("products") as! NSArray
for (index, value) in enumerate(responseDict) {
var item = responseDict[index] as! NSDictionary
var id = item.objectForKey("id") as! NSString
var status = item.objectForKey("status") as! NSString
var productName = item.objectForKey("product_name") as! NSString
self.saveItem(productName as! String, itemStatus: status.boolValue, itemId: id as! String, action: "0")
}
self.tableView.reloadData()
}, failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
println("Error: " + error.localizedDescription)
})
}
и
func saveItem(itemName: String, itemStatus: Bool, itemId: String, action : String)
{
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext!
let entity = NSEntityDescription.entityForName("Items",
inManagedObjectContext:
managedContext)
let itemObject = NSManagedObject(entity: entity!, insertIntoManagedObjectContext:managedContext)
itemObject.setValue(itemName, forKey: "productName")
itemObject.setValue(itemStatus, forKey: "productStatus")
itemObject.setValue(action, forKey: "action")
itemObject.setValue(itemId, forKey: "productId")
var error: NSError?
if !managedContext.save(&error) {
println("Could not save \(error), \(error?.userInfo)")
}
items.append(itemObject)
}