
错误在prepareForSegue方法中,并显示为:“无法将类型”UIVIEwController“(0x1b81cdc)的值转换为”Patternz.PatternDetailVIEwController“(0x32488).
(lldb)“ @H_301_4@不妨理解为什么它不起作用的解释.
这是文件. @H_301_4@VIEwController.swift
import UIKitimport CoreDataclass VIEwController: UIVIEwController,UItableVIEwDataSource,UItableVIEwDelegate { @IBOutlet weak var tableVIEw: UItableVIEw! var patterns : [Pattern] = [] var selectedPattern : Pattern? = nil overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. self.tableVIEw.dataSource = self self.tableVIEw.delegate = self createTestPatterns() var context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedobjectContext! var request = NSFetchRequest(entityname: "Pattern") var results = context.executeFetchRequest(request,error: nil) if results != nil { self.patterns = results! as! [Pattern] } } func createTestPatterns() { var context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedobjectContext! var pattern = NSEntityDescription.insertNewObjectForEntityForname("Pattern",inManagedobjectContext: context) as! Pattern pattern.name = "Dress Shirt" pattern.frontimage = UIImageJPEGRepresentation(UIImage(named: "examplePattern.jpg"),1) context.save(nil) } func tableVIEw(tableVIEw: UItableVIEw,numberOfRowsInSection section: Int) -> Int { return self.patterns.count } func tableVIEw(tableVIEw: UItableVIEw,cellForRowAtIndexPath indexPath: NSIndexPath) -> UItableVIEwCell { var cell = UItableVIEwCell() var pattern = self.patterns[indexPath.row] cell.textLabel!.text = pattern.name cell.imageVIEw!.image = UIImage(data: pattern.frontimage) return cell } func tableVIEw(tableVIEw: UItableVIEw,dIDSelectRowAtIndexPath indexPath: NSIndexPath) { self.selectedPattern = self.patterns[indexPath.row] self.performSegueWithIDentifIEr("patternDetailSegue",sender: self) } overrIDe func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) { if segue.IDentifIEr == "patternDetailSegue" { var detailVIEwController = segue.destinationVIEwController as! PatternDetailVIEwController // Could not cast value of type 'UIVIEwController' to 'Patternz.PatternDetailVIEwController' detailVIEwController.pattern = self.selectedPattern } }} @H_301_4@PatternDetailVIEwController.swift import UIKitclass PatternDetailVIEwController: UIVIEwController { var pattern : Pattern? = nil overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw. self.navigationItem.Title = self.pattern!.name }}解决方法 正如你所说,这个问题在这些方面: if segue.IDentifIEr == "patternDetailSegue" { var detailVIEwController = segue.destinationVIEwController as! PatternDetailVIEwController // Could not cast value of type 'UIVIEwController' to 'Patternz.PatternDetailVIEwController' @H_301_4@该错误消息告诉您,该segue的destinationVIEwController实际上不是一个PatternDetailVIEwController.你可能会认为是,但不是.你需要在故事板中检查这个段落,看看它的目的地是什么. @H_301_4@错误消息将其描述为UIVIEwController的事实使我怀疑您在故事板中的此视图控制器的IDentity检查器中忘记输入任何视图控制器类型: 总结 以上是内存溢出为你收集整理的ios – 不能将UIViewController类型的值转换为PatternDetailViewController全部内容,希望文章能够帮你解决ios – 不能将UIViewController类型的值转换为PatternDetailViewController所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)