PFObject子类获取“无法将类型'Match'的值转换为期望的参数类型'@noescape(AnyObject)throws - > Bool'”错误
问题描述:
我在调用indexOf对PFObject子类的数组时遇到以下错误。PFObject子类获取“无法将类型'Match'的值转换为期望的参数类型'@noescape(AnyObject)throws - > Bool'”错误
无法将类型的值 '匹配' 的预期参数类型 '@noescape(AnyObject)抛出 - >布尔'
我的课:
class Match: PFObject, PFSubclassing {XXXX}
的方法,其中的错误正在发生:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
//dismiss the image picker
self.dismissViewControllerAnimated(true) {() -> Void in
//wait for the dismissal in case there is an error to show
let recordedVideofileURL = info[UIImagePickerControllerMediaURL] as? NSURL
if let recordedVideofileURL = recordedVideofileURL
{
//upload the file to S3
do
{
let uploadRequest = try S3UploadManager.uploadFile(self.match!.localPathToVideo()!)
self.match!.saveEventually({ (success: Bool, error: NSError?) -> Void in
if (success)
{
// The object has been saved.
self.matchesController.loadObjects()
//set up progress tracking for the upload
uploadRequest.uploadProgress = {[weak self](bytesSent:Int64, totalBytesSent:Int64, totalBytesExpectedToSend:Int64) -> Void in
if let match = self?.match
{
>>>>>>error here var index = self?.matchesController.objects?.indexOf(match)
}
}
}
})
}
catch
{
// TODO: handle error
}
}
}
}
从我只读,当数组中包含的对象不符合Equatable扩展时会发生此错误。但PFObject继承自符合该扩展的NSObject。所以我不知所措...
任何指针赞赏
答
找到解决方案。事实证明,在PFQueryTableViewController对象方法返回[AnyObject],所以我需要将其转换为[赛事]
let objects = self?.matchesController.objects as! [PFObject]
,然后它的作品...
我还是新的SWIFT和解析,但这似乎是错误的对象方法返回[AnyObject]?尤其是考虑到在doc
评论/*! @abstract The array of instances of <PFObject> that is used as a data source. */ public var objects: [AnyObject]? { get }