Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法强制转换类型为';TableViewController';至';NSString';_Ios_Swift_Uitableview_Nsstring_Segue - Fatal编程技术网

Ios 无法强制转换类型为';TableViewController';至';NSString';

Ios 无法强制转换类型为';TableViewController';至';NSString';,ios,swift,uitableview,nsstring,segue,Ios,Swift,Uitableview,Nsstring,Segue,我在下面代码的第四行中遇到以下错误 线程1:信号SIGABRT,输出表示无法将“JobTableViewController”(0x10a20cb80)类型的值强制转换为“NSString”(0x10cc5a2a8) Job.swift: class Job { var text: String = "" let ref: DatabaseReference! init(text: String) { self.text = text ref = Database.databa

我在下面代码的第四行中遇到以下错误

线程1:信号SIGABRT,输出表示无法将“JobTableViewController”(0x10a20cb80)类型的值强制转换为“NSString”(0x10cc5a2a8)

Job.swift:

class Job {
var text: String = ""
let ref: DatabaseReference!

init(text: String) {
    self.text = text
    ref = Database.database().reference().child("jobs").childByAutoId()
}

init(snapshot: DataSnapshot)
{
    ref = snapshot.ref
    if let value = snapshot.value as? [String : Any] {
        text = value["text"] as! String
    }
}

func save() {
    ref.setValue(toDictionary())
}

func toDictionary() -> [String : Any]
{
    return [
        "text" : text,
    ]
}
}

您的问题是,在
performsgue
中,您将
self
(类型为
JobTableViewController
)作为
sender
参数发送,如下所示

self.performSegue(withIdentifier: "toDetails", sender: self)
在这里把它扔给

sender as! String
所以把它转换成

self.performSegue(withIdentifier: "toDetails", sender:"sendedStr")

对不起,我不知道我是否理解你的意思。。。我现在需要更改什么?你的意思是“sentStr”或“senderStr”,拼写错误?他指的是你发送的字符串,所以在我的例子中是“valueToPass”,哦,它起作用了,谢谢:)@Carpsen90正如joe所说的=完成更多问题:当我的发件人只是valueToPass,没有“”时,我会得到相同的错误,只是为了文件作业。swift,而不是JobTableViewController。。。我哪里做错了什么?执行此序列的视图控制器的类是什么?您希望传递的值是多少?
self.performSegue(withIdentifier: "toDetails", sender:"sendedStr")