swift-01

2018-10-31  本文已影响0人  三更无梦书作伴

swift学习笔记01 wift初见

第一个错误

真机运行,刚上来就报了个错误。先使用自己的开发者账号,成功运行,然后删除app后选择公司账号,重新运行报错

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/containers/Bundle/Application/0A0AA7BF-D8F0-4F85-AB5A-76C8988B50F8/SwiftDemo01.app/SwiftDemo01
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/0A0AA7BF-D8F0-4F85-AB5A-76C8988B50F8/SwiftDemo01.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/containers/Bundle/Application/0A0AA7BF-D8F0-4F85-AB5A-76C8988B50F8/SwiftDemo01.app/Frameworks/libswiftCore.dylib'

解决办法

1.删除程序,换回原来的账号重新运行
2.command + shift + K (清除缓存)

这是两个方法,不是两个步骤!

可选值解包

var optionalName: String? = nil
var greeting = "Hello!"
if let name = optionalName {//if let 语句,当optionName 有值时赋值给name,没有值时不进入true逻辑
    greeting = "Hello, \(name)"
} else {
    greeting = "Hello! nil"
}

如果变量的可选值是 nil,条件会判断为 false,大括号中的代码会被跳过。如果不是 nil,会将值解包并赋给 let 后面的常量,这样代码块中就可以使用这个值了。

let nickName: String? = nil
let fullName: String = "John Appleseed"
let informalGreeting = "Hi \(nickName ?? fullName)"//??,针对可选值的时候,当可选值没有值的时候就使用后面的默认值
//解法1,设置可选值的默认值-Provide a default value to avoid this warning
print(sideLength ?? 1)
//解法2,用人格保证他有值-Force-unwrap the value to avoid this warning
print(sideLength!)
//解法3,转换为any -Explicitly cast to 'Any' with 'as Any' to silence this warning
print(sideLength as Any)
上一篇 下一篇

猜你喜欢

热点阅读