Swift 如何打印/转储NSObject?

Swift 如何打印/转储NSObject?,swift,console,nsobject,Swift,Console,Nsobject,我有一个 Crashlytics.sharedInstance().setObjectValue(loginAccount, forKey: "loginAccount") 我可以在我的项目中访问SwiftyJSONPod,所以我已经尝试过了 print(JSON(loginAccount)) 我得到 我该怎么做才能使我的口述更具可读性 会话帐户 SessionAccount真的需要成为继承自NSObject的类吗?如果使用结构,则打印将打印所有成员 在类中必须覆盖说

我有一个

Crashlytics.sharedInstance().setObjectValue(loginAccount, forKey: "loginAccount")

我可以在我的项目中访问
SwiftyJSON
Pod,所以我已经尝试过了

print(JSON(loginAccount))
我得到

我该怎么做才能使我的口述更具可读性


会话帐户
SessionAccount
真的需要成为继承自
NSObject
类吗?如果使用结构,则打印将打印所有成员

类中
必须覆盖
说明
并返回一个您想要显示的字符串,例如

override var description : String {
    return "SessionAccount: \(username) - \(accountType)"
}
您可以使用转储(自)

dump()不返回字符串。它只是打印到控制台

输出将为-

<SessionAccount: 0x000055957bfcd400> #0
  - super: Foundation.NSObject
  - id: nil
  - username: nil
  - password: nil
  - accountType: nil
  - role: nil
  - privateVlan: nil
  - guestVlan: nil
  - timezoneOffset: nil
  - loginTime: nil
  - cpeName: nil
  - deviceCount: nil
  - activeCount: nil
  - inactiveCount: nil
  - offlineCount: nil
  - quarantineList: 0 elements
#0
-超级:基础
-身份证号码:无
-用户名:nil
-密码:无
-帐户类型:无
-角色:无
-privateVlan:nil
-宾馆:无
-时区偏移:零
-登录时间:无
-姓名:无
-设备计数:零
-活动计数:零
-不活动计数:零
-离线计数:零
-检疫员:0个元素

如果您的问题是关于该语言版本的特定更改,则仅使用Swift版本特定标记。您的问题显然与特定的更改无关,因此不要使用这些标记来显示您正在使用的版本。假设总是最新的版本。什么是
SessionAccount
?@Koen:我更新了我的帖子,这里还有:你的问题非常令人困惑。标题根本没有反映在正文中。如果你想“让我的字典更人性化”,你可以试试这个:我想把它打印出来
override var description : String {
    return "SessionAccount: \(username) - \(accountType)"
}
<SessionAccount: 0x000055957bfcd400> #0
  - super: Foundation.NSObject
  - id: nil
  - username: nil
  - password: nil
  - accountType: nil
  - role: nil
  - privateVlan: nil
  - guestVlan: nil
  - timezoneOffset: nil
  - loginTime: nil
  - cpeName: nil
  - deviceCount: nil
  - activeCount: nil
  - inactiveCount: nil
  - offlineCount: nil
  - quarantineList: 0 elements