Initializer for conditional binding must have Optional type, not 'String'

今天看到问Swift问题:  Initializer for conditional binding must have Optional type, not ‘String‘

以前没遇到过这个问题,这不赶紧写个demo验证一下,弄懂什么问题吧,算是积累小知识了.

报错原因:

if 里面的判断类型必须是Optional类型。

解决方法:

注意不仅是if let会报错,guard let 同样是这样...

Initializer for conditional binding must have Optional type, not 'String'

时间: 2024-10-12 12:38:53

Initializer for conditional binding must have Optional type, not 'String'的相关文章

initializer for conditional binding must have optional type not AVAudioPlayer

if let buttonBeep = self.setupAudioPlayerWithFile("ButtonTap", type: "wav") {                        self.buttonBeep = buttonBeep        }        if let secondBeep = self.setupAudioPlayerWithFile("SecondBeep", type: "wav

随手记Swift基础和Optional Type(问号?和感叹号!)

距离Apple推出Swift已经有几天了,网上也时不时出现"急招Swift程序员,要求有一天工作经验"的帖子. 看到Swift,除了苹果放的另外一门语言的链接(http://swift-lang.org/),还可能联想到Taylor Swift,或者铃木雨燕. 这几天网上关于Swift的话题和材料应该迅速膨胀,比如StackOverflow的相关标签,还有知乎上的一些相关讨论. 关于Swift的推出,我个人觉得对现有的使用Objective-C的iOS开发者不算是很大的冲击,毕竟写代码

WPF - Conditional binding with trigger

/* By Dylan SUN*/ WPF conditional binding enables the application to have different behaviors based on a pre-defined condition. For example, you could use conditional binding to change the background color of your WPF application main window. Suppose

Swift Optional Type(问号?和感叹号!)的理解和使用

两个礼拜搞定iOS,那是吹牛吹出来的.呵呵,不过经过几天的学习还是觉得iOS还是很熟悉的,觉得有javascript的一些特征,有一些java的特征,貌似swift集大家所成的一门语言,本人还是比较喜欢写android的,但是对比iOS来讲,swift貌似简单多了,动画,控件,屏幕适配这些都比较类似哈.今天在学习iOS的时候碰到一个感叹号(!)问号(?)的问题.比较纠结,不知道这代表的是什么意思.所以去查看一下文档,明白其中的含义. 先看两张图片 代码提示String需要?或者感叹号 函数返回值

Unable to cast object of type 'System.Int32' to type 'System.String'.

最近在研究.netcore,尝试把前后端完全分离.但是在写接口的时候,Post参数是FromBody的时候报错了 Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] An unhandled exception has occurred while executing the request. System.InvalidCastException: Unable to cast object of type

Cannot determine value type from string 'xxxxxx'

Cannot determine value type from string 'xxxxxx' 查了一下,意思就是字段和属性名没有对上. 反复查看代码,字段名和属性名一致. 最后翻阅资料得知是因为构造器的原因. entity实体类全部加上无参构造和全参构造注解,完美解决. @EqualsAndHashCode(callSuper = true) @TableName("user") @Data @NoArgsConstructor @AllArgsConstructor public

Cannot instantiate the type Map<String,Boolean>

无法实例化类型Map<String,Boolean> 错误代码: Map<String, Boolean> modelPropertys = new Map<String, Boolean>(); 看了一下Map的定义,public abstract interface java.util.Map 原来是抽象接口,不能直接实例化,需要使用它的实现类: 正确写法如下: Map<String, Boolean> modelPropertys = new Hash

webrtc教程

cdsn博客不支持word文件,所以这里显示不完全.可到本人资源中下载word文档: v0.3:http://download.csdn.net/detail/kl222/6961491 v0.1:http://download.csdn.net/detail/kl222/6677635  下载完后评论,可以返还你的积分.此文档还在完善中,欢迎大家交流,共同完善.    Webrtc  教程 版本0.3(2014年2月) 康林 ([email protected]) 本文博客地址:http://

Swift的Optional类型

我们使用Swift这个苹果新推出的编程语言已经有一段时间了.其中的一个极大的优点就是苹果称为"optional types"的东西.几乎所有的objective-c程序员都知道用nil来表示某个引用类型的对象是没有值的.但是要把nil和某个变量的类型联系起来还是有些牵强. 这里,我们就来介绍一下Swift提供的optional type(可选类型).先介绍一些实现的细节,然后指出optional type体系里的几个要点. 类型? 在我们开始进入代码前,先来看看为什么一个类型被定义为可