xcode – 如何在调试时打印Swift结构的自定义描述,而不是其他内
发布时间:2020-12-14 19:17:24 所属栏目:百科 来源:网络整理
导读:假设我有一个像这样的结构: struct MyStruct: CustomStringConvertible { let myInt: Int let myString: String var description: String { return "my int is (myInt),nand my string is "(myString)"" }} 从代码打印描述工作正常. let myStruct = My
假设我有一个像这样的结构:
struct MyStruct: CustomStringConvertible { let myInt: Int let myString: String var description: String { return "my int is (myInt),nand my string is "(myString)"" } } 从代码打印描述工作正常. let myStruct = MyStruct(myInt: 3,myString: "hello") print(myStruct) 这导致了 my int is 3,and my string is "hello" 当我想从调试器打印myStruct的描述时出现问题. po myStruct导致 ? my int is 3,and my string is "hello" - myInt : 3 - myString : "hello" 明确地打印出它的描述也没有帮助,因为po myStruct.description结果 "my int is 3,nand my string is "hello"" 我认为它可能与CustomDebugStringConvertible有关,所以我添加了这段代码: extension MyStruct: CustomDebugStringConvertible { var debugDescription: String { return description } } 不幸的是,这根本不会改变任何结果. 有办法吗? my int is 3,and my string is "hello" 调试时从命令行打印? 解决方法(lldb) expression print(myStruct) my int is 3,and my string is "hello" 你可以定义自己的’命令’ (lldb) help command The following subcommands are supported: alias -- Allow users to define their own debugger command abbreviations. This command takes 'raw' input (no need to quote stuff). delete -- Allow the user to delete user-defined regular expression,python or multi-word commands. history -- Dump the history of commands in this session. regex -- Allow the user to create a regular expression command. script -- A set of commands for managing or customizing script commands. source -- Read in debugger commands from the file <filename> and execute them. unalias -- Allow the user to remove/delete a user-defined command abbreviation. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |