Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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 Int64 can';如果存储在域中,则无法转换_Ios_Objective C_Swift_Realm - Fatal编程技术网

Ios Int64 can';如果存储在域中,则无法转换

Ios Int64 can';如果存储在域中,则无法转换,ios,objective-c,swift,realm,Ios,Objective C,Swift,Realm,我需要在域中保存11位数字,因为我使用的是Int64。 当我阅读它时,我需要将它的数据类型转换为String let icnStr = employeeObj["icn"] as! String 但它显示出以下错误 Could not cast value of type '__NSCFNumber' (0x186d21c) to 'NSString' (0xefd5e4). cannot force unwrap value of non-optional type string 试试S

我需要在域中保存11位数字,因为我使用的是
Int64
。 当我阅读它时,我需要将它的数据类型转换为
String

let icnStr = employeeObj["icn"] as! String
但它显示出以下错误

Could not cast value of type '__NSCFNumber' (0x186d21c) to 'NSString' (0xefd5e4).
cannot force unwrap value of non-optional type string

试试
String(employeeObj[“icn”])
,希望它有帮助,不要贬低它,而是用Int值创建
String
实例试试
String(employeeObj[“icn”])
,希望它有帮助,不要向下转换它,而是创建值为Int的
String
实例,您需要执行以下操作,否则将无法打开它

使用以下代码

let icnStr = String(describing: employeeObj["icn"]!)
它将展开可选值,因为当它变成
String
时,您无法展开它。它将给出以下错误

Could not cast value of type '__NSCFNumber' (0x186d21c) to 'NSString' (0xefd5e4).
cannot force unwrap value of non-optional type string

您需要执行以下操作,否则将无法打开它

使用以下代码

let icnStr = String(describing: employeeObj["icn"]!)
它将展开可选值,因为当它变成
String
时,您无法展开它。它将给出以下错误

Could not cast value of type '__NSCFNumber' (0x186d21c) to 'NSString' (0xefd5e4).
cannot force unwrap value of non-optional type string

感谢允许icnStr=String(描述:employeeObj[“icn”])工作,但现在无法打开。您只需从该字符串重新创建Int,它将工作。我需要使用String&它打印此值可选(13421423231)&当我尝试打开它时,它是说不能强制展开非可选类型StringValue的值。如果我再次将其转换为Int64,那有什么意义呢。我需要字符串。我的意思是当你需要使用它作为Int,然后再转换回来…你什么意思你不能打开??像这样转换为字符串很好,它不是可选的,当然你不能取消它??谢谢让icnStr=string(描述:employeeObj[“icn”])工作,但现在无法打开。你只需从该字符串重新创建Int,它将工作我需要使用string&它正在打印此值可选(13421423231)当我试图展开它时,它说不能强制展开非可选类型StringValue的值&如果我再次将其转换为Int64,有什么意义。我需要字符串。我的意思是当你需要使用它作为Int,然后再转换回来…你什么意思你不能打开??像这样转换成字符串是非常好的,它不是可选的,当然你不能取消它??