gpt4 book ai didi

ios - 断点后如何在 Xcode 中查看此 Swift 类对象的内容?

转载 作者:行者123 更新时间:2023-11-28 07:29:20 26 4
gpt4 key购买 nike

我是 Xcode 和 Swift 的新手(......和严肃的 Swift 编程),我希望有人能帮助我弄清楚如何查看/访问此类对象的值。

我的 ViewController.swift 中有这段代码,用于调用我的 REST API(通过 AWS API 网关)并尝试将 result 打印到控制台。显然,我在这里所做的只是打印类对象的地址:

@IBAction func userInvokeApi(_ sender: UIButton) {
print("You clicked invoke api...")
let client = SVTLambdaGateClient.default()
client.calcGet(operand2: "3", _operator: "+", operand1: "5").continueWith{ (task: AWSTask?) -> AnyObject? in
if let error = task?.error {
print("Error occurred: \(error)")
return nil
}

if let result = task?.result {
// Do something with result
print("The result is... \(result)")
}

return nil
}
}

这是打印的内容:

You clicked invoke api...
The result is... <AmplifyRestApiTest.Empty: 0x600002020770> {
}

(其中 AmplifyRestApiTest 是我的 Xcode 项目的名称。虽然我没有使用 AWS Amplify 来构建这个项目;主要是因为我在使用它时遇到了问题。)

我在 Empty.swift 中确实有这个 Empty 类,它是 API 网关生成的 iOS Swift SDK 的一部分:

import Foundation
import AWSCore

@objcMembers
public class Empty : AWSModel {
public override static func jsonKeyPathsByPropertyKey() -> [AnyHashable : Any]!{
var params:[AnyHashable : Any] = [:]`
return params
}
}

现在,当我在 print 语句上设置断点时,这就是我所看到的:

enter image description here enter image description here enter image description here

有人能告诉我为什么我看不到与该对象相关的值吗?解包此 API 响应的策略是什么?

我知道我正在成功调用 REST API,因为我可以看到(通过 Cloudwatch 日志)它正在将结果返回给客户端。所以这篇文章只是我尝试访问相应的对象。

另一个细节:我正在使用 API 网关生成的 iOS Swift SDK,并且我遵循了所有 tutorial instruction在我的项目中使用 SDK。

最佳答案

使用 lldb 命令 po 打印对象。

(lldb) po @"lunar"
lunar
(lldb) p @"lunar"
(NSString *) $13 = 0x00007fdb9d0003b0 @"lunar"

关于ios - 断点后如何在 Xcode 中查看此 Swift 类对象的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55426903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com