首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift 2反射误差

Swift 2反射误差
EN

Stack Overflow用户
提问于 2016-05-13 02:55:37
回答 2查看 510关注 0票数 0

我已经查看了一段快速代码,尝试创建一个将对象序列化为JSON的反射函数。问题是,当我调用初始化程序以获得反射时,它会抛出一个疯狂的错误。

代码语言:javascript
复制
struct Address {
    var street: String
}

struct Person {
    var name: String = "Dre"
    var age: Int = 33
    var dutch: Bool = false
    var address: Address? = Address(street: "Clark Drive")
}

// Throws an error on the next line
let mirror = Mirror(reflecting: Person) 

当我试图将镜像的值设置为镜像初始化的结果时,我会得到以下错误:

  1. 在call中缺少参数标签“reflecting:”
  2. 无法创建带有元素标签的单元素元组。

知道这里会出什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-13 03:21:47

您需要传递一个Person实例,而不是类Person。例如:

代码语言:javascript
复制
struct Address {
    var street: String
}

struct Person {
    var name: String = "Dre"
    var age: Int = 33
    var dutch: Bool = false
    var address: Address? = Address(street: "Clark Drive")
}

let person = Person()
let mirror = Mirror(reflecting: person)

print(mirror.displayStyle)
for case let (label?, value) in mirror.children {
    print(label, value)
}

指纹:

代码语言:javascript
复制
Optional(Struct)
name Dre
age 33
dutch false
address Optional(Address(street: "Clark Drive"))
Mirror for Bookmark
票数 1
EN

Stack Overflow用户

发布于 2017-08-03 07:01:13

错:

代码语言:javascript
复制
func jediGreet(name: String, ability: String) -> (farewell: String, mayTheForceBeWithYou: String) {
  return ("Good bye, \(name).", " May the \(ability) be with you.")
}

let retValue = jediGreet("old friend", "Force")
println(retValue)
println(retValue.farewell)
println(retValue.mayTheForceBeWithYou)

正确:

代码语言:javascript
复制
func jediGreet(name: String, ability: String) -> (farewell: String, mayTheForceBeWithYou: String) {
  return ("Good bye, \(name).", " May the \(ability) be with you.")
}

let retValue = jediGreet (name:"old friend",ability: "Force")
print(retValue)
print(retValue.farewell)
print(retValue.mayTheForceBeWithYou)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37200499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档