ios – 不能将UIViewController类型的值转换为PatternDetailViewController

ios – 不能将UIViewController类型的值转换为PatternDetailViewController,第1张

概述我试图将视图控制器降级到详细视图控制器,但不能.使用核心数据(第一次). 错误在prepareForSegue方法中,并显示为:“无法将类型”UIViewController“(0x1b81cdc)的值转换为”Patternz.PatternDetailViewController“(0x32488). (lldb)“ 不妨理解为什么它不起作用的解释. 这是文件. ViewController.s 我试图将视图控制器降级到详细视图控制器,但不能.使用核心数据(第一次).
错误在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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1097328.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存