Ios 尝试检索图像时出现NSInvalidArgumentException
我在另一个地方使用“正常工作”代码时出错:Ios 尝试检索图像时出现NSInvalidArgumentException,ios,swift,uitableview,parse-platform,Ios,Swift,Uitableview,Parse Platform,我在另一个地方使用“正常工作”代码时出错: [Error]: Caught "NSInvalidArgumentException" with reason "*** -[_NSPlaceholderData initWithContentsOfFile:options:error:]: nil file argument" 我声明了一个数组组:[[AnyObject]] 在我的UITableView中的cellforrowatinexpath方法中,我基于一个数组启动以下查询,该数组是gro
[Error]: Caught "NSInvalidArgumentException" with reason "*** -[_NSPlaceholderData
initWithContentsOfFile:options:error:]: nil file argument"
我声明了一个数组组:[[AnyObject]]
在我的UITableView
中的cellforrowatinexpath
方法中,我基于一个数组启动以下查询,该数组是group=>group[indexPath.row]
的一个元素
我可以毫无问题地获取必要的数据,但是当我尝试使用我的getDataInBackgroundithBlock()
方法时,它会抛出上面的错误
var memberPhotoImages:[UIImage] = [UIImage]()
let buttonImageQuery = PFUser.query()
buttonImageQuery?.whereKey("objectId", containedIn: group[indexPath.row])
buttonImageQuery?.findObjectsInBackgroundWithBlock({ (results, error) -> Void in
if error != nil {
print(error)
} else {
self.memberPhotosFiles.removeAll()
if let results = results {
for result in results {
let buttonPicture = result["firstImage"] as! PFFile
self.memberPhotosFiles.append(buttonPicture)
buttonPicture.getDataInBackgroundWithBlock {
(imageData: NSData?, error: NSError?) -> Void in
if error != nil {
//...
} else {
if let data = imageData {
print("success!")
}}}}}}})
return cell
}
有什么办法解决这个问题吗?到目前为止,我试了很多打字,但一定是别的什么东西
编辑:它会打印“Success!”,但也会打印错误消息。我不得不从错误中猜测,似乎您正在尝试访问设备上不存在的文件-[\u NSPlaceholderData initWithContentsOfFile:options:error:]:nil file argument问题可能是您正在从模拟器可以访问的位置(可能在iOS模拟器的文件中,这些文件在应用程序支持中)访问某些内容,但设备无法访问。检查您的代码是否存在任何硬编码路径,这些路径可能会指向计算机上的某个位置,而不是访问设备的文件系统
这表明您的文件参数为零。大多数这种情况是由于模拟器和设备之间的文件路径不同造成的。检查有关加载文件的代码,并比较模拟器和设备之间的路径。永远不要在
cellforrowatinexpath
中调用异步任务。执行控制器
部分中的操作,然后更新模型
,然后更新视图
。查看MVC模式-好的,我会记住这一点:)。我的问题是:在我的第一个查询中,我得到了一个特定组(classname:group)的用户名。我将这些存储到我的数组组中。每个数组代表一个组。现在我的想法是使用indexPath.row在我的单元格中访问这些。有不同的方法吗?单元格表示MVC模式中的视图。在控制器
或型号
中执行此操作。请阅读我链接到的网站上关于MVC的简短描述。