问答详情
源自:2-4 Swift-元组 Tuples

这样会报错,求解决方法

let conn:(Int, String) = (code: 404, msg: "Not Found")

conn.code

这样会报错,求解决方法

提问者:lyc835 2015-01-04 20:53

个回答

  • AndyHT
    2015-07-04 23:25:40

    忘了说,第二种方式就是Apple推荐的方式,能推断出类型就不要写类型申明,建议以后这样写

  • AndyHT
    2015-07-04 23:23:11

    let conn:(code: Int, msg: String) = ( 404, "Not Found")
    
    conn.code

    这样写~


    let conn = (code: 404, msg: "Not Found")
    
    conn.code

    或者这样写


    let conn:(Int, String) = (code: 404, msg: "Not Found")
    
    conn.0//就是code
    conn.1//就是msg

    再或者这样


    你的写法报错的原因是你将conn声明为一个(Int, String)类型的tuples,并没有给tuples里的值命名,然后将一个(code: Int, msg: String)类型的元组里的值赋值给conn,所有只能用conn.0和conn.1这样的方式来访问conn中的值。

    在Apple官方的swift书里建议如果能明确的推断出变量(常量)的类型,就将这个事交给编译器去做,不用做显示的申明类型。因为在Xcode中想查看变量(常量)的类型非常简单,按住option键然后戳那个变量就会显示提示,所以不写明类型也非常容易的能知道类型,这就是Apple的编码习惯