【发布时间】:2015-04-02 13:05:51
【问题描述】:
我声明了一个全局变量_dataArray:
var _dataArray : Array<AnyObject> = Array();
然后定义一个函数:
func fetchCoreData(userName: String){
var context : NSManagedObjectContext = appDel.managedObjectContext!
var request = NSFetchRequest(entityName: "GoodModel")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "uid = %@",_userUid )
let _dataArray = context.executeFetchRequest(request, error: nil)!
if(_dataArray.count == 0){
println("We need to parse JSON")
self.parseJSON()
}else{
println("Display from CoreData, we do not need to parse JSON!")
println("_dataArray.count:%d",_dataArray.count)
self.tableView.reloadData()
}
}
从控制台,我可以看到这个 _dataArray 中有 20 个对象。 但是在下面的函数中,_dataArray的计数是0。为什么?????????
@IBAction func endorseButton(sender: AnyObject, forEvent event: UIEvent) {
println(_dataArray.count)
let touches = event.allTouches()
let touch: AnyObject? = touches?.anyObject()
let currentTouchPosition = touch?.locationInView(self.tableView)
let indexPath = self.tableView.indexPathForRowAtPoint(currentTouchPosition!)?
if let ip = indexPath {
var data:NSManagedObject = _dataArray[ip.row] as NSManagedObject
}
}
【问题讨论】: