我有一个静态字符串变量
struct numb {
static var selectedNumber: String = String()
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试解包(同时将其转换为AnyObject)值并将其分配给messageComposeViewController
if let textMessageRecipients :AnyObject = numb.selectedNumber
{
messageComposeVC.recipients = textMessageRecipients as? [AnyObject]
messageComposeVC.body = "Testing 123!"
}
Run Code Online (Sandbox Code Playgroud)
编译器抛出错误
bound value in a conditional binding must be of Optional type
Run Code Online (Sandbox Code Playgroud)
如何将我的转换string为AnyObject并将其分配给消息视图控制器?
从您的示例和您看到的错误来看,您正在尝试解开一个不可选的值。if let当有值时就不需要使用。if let您可以使用如下方式强制强制转换:
if let myValue:AnyObject = numb.selectedNumber as? AnyObject
Run Code Online (Sandbox Code Playgroud)
这将产生一条警告,指出强制转换 a StringtoAnyObject将始终成功,同样,您不需要if let,您的强制转换将始终成功。
您的最终示例应类似于:
messageComposeVC.recipients = [numb.selectedNumber] as [AnyObject]
messageComposeVC.body = "Testing 123!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10941 次 |
| 最近记录: |