Ios 如何在Swift中将NSDictionary转换为NSObject?

Ios 如何在Swift中将NSDictionary转换为NSObject?,ios,swift,nsdictionary,nsobject,Ios,Swift,Nsdictionary,Nsobject,我在viewcontroller中有一个元变量NSObject,我希望它能够从推动它的父viewcontroller接收任何类型的对象。我还有一个类型变量,它将决定如何在viewcontroller中键入和解释此NSObject 问题是,当我试图将NSDictionary强制转换为父对象中的NSObject时,Xcode警告说,这种类型的类型的强制转换总是会失败 我尝试过的代码: childVc.meta = ["title":"test"] as! NSObject; // warning:

我在viewcontroller中有一个元变量
NSObject
,我希望它能够从推动它的父viewcontroller接收任何类型的对象。我还有一个类型变量,它将决定如何在viewcontroller中键入和解释此
NSObject

问题是,当我试图将
NSDictionary
强制转换为父对象中的
NSObject
时,Xcode警告说,这种类型的类型的强制转换总是会失败

我尝试过的代码:

childVc.meta = ["title":"test"] as! NSObject; // warning: cast from '[String:String?]' to unrelated type 'NSObject' always fails.

let data = ["title":"test"];
childVc.meta = data as! NSObject; // warning: cast from '[String:String?]' to unrelated type 'NSObject' always fails.


let data = ["title":"test"];
childVc.meta = data as NSObject; // error: cannot convert value of type '[String:String?]' to type 'NSObject' in coercion.


let data = ["title":"test"] as! NSObject; // warning: cast from '[String:String?]' to unrelated type 'NSObject' always fails.
childVc.meta = data;
但相反的类型转换总是有效的:

let unwrappedMeta = self.meta as! NSDictionary;

哦,顺便说一句,我知道swift结尾不需要分号。这只是我在obj-c的习惯,斯威夫特看起来并不在意,所以不要让这个分号分散我们的注意力。:)

请尝试这样使用:

var traitsDic : NSDictionary! = ["title":"test"]
var traits = traitsDic as Dictionary<String, AnyObject>
var traitsDic:NSDictionary!=[“标题”:“测试”]
变量traits=traitsDic作为字典

您在dictionary中有一个可选值,似乎不是NSDictionary

  // warning: cast from '[String:String?]'

尝试将其转换为
任何对象

他没有使用分段分析,如果他是,他可以从这里@ayatkhan hi获得答案。我不知道这叫做细分分析。我以前试过找到关于这个的基本教程,但找不到。你能推荐一下吗?@Bond先生,NSDictionary和Dictionary是同一个类吗?NSDictionary已经是NSObject了。。。你试过不铸造它吗?无论如何,那是一本swift字典,不是NSF字典,为什么我不能复制它?我得到一个警告说它将永远成功!我不知道为什么,但今天当我再次尝试时,一切都起作用了从直接分配,甚至打字,所有的工作,是的,现在我得到警告,它将永远成功#我想我的Xcode又出问题了。无论如何,谢谢大家的帮助。是的,这就是我通过艰苦的学习所学到的。我认为NSObject和AnyObject是一样的。但现在我发现,即使是NSArray和Swift阵列本身也是不同的。谢谢