我目前有这样的功能……
// this is a propertyvar currentString: String = ""func doSomething() { let newString: String = goGetANewString() guard newString != currentString else { return } currentString = newString}
但我觉得有点奇怪的是我在守卫之外创建了newString.
如果我将它移动到后卫,那么它会抱怨它需要是可选的.
有没有办法在guard语句中创建newString并检查条件?
理想情况下,我喜欢这样的东西,但就像我说的那样,它不会这样.
func doSomething() { guard let newString: String = goGetANewString(),newString != currentString else { return } currentString = newString}解决方法 “技巧”是使用带有 value-binding pattern的保护案例进行分配:
func doSomething() { guard case let newString = goGetANewString(),newString != currentString else { return } currentString = newString}总结
以上是内存溢出为你收集整理的swift – 在防范中创建非可选项以测试保护条件全部内容,希望文章能够帮你解决swift – 在防范中创建非可选项以测试保护条件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)