Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >有没有办法把Swift词典打印到控制台上?

有没有办法把Swift词典打印到控制台上?
EN

Stack Overflow用户
提问于 2016-08-04 09:37:25
回答 17查看 92.4K关注 0票数 121
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NSDictionary *dictionary = @{@"A" : @"alfa",
                             @"B" : @"bravo",
                             @"C" : @"charlie",
                             @"D" : @"delta",
                             @"E" : @"echo",
                             @"F" : @"foxtrot"};
NSLog(@"%@", dictionary.description);

在控制台上打印以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    A = alfa;
    B = bravo;
    C = charlie;
    D = delta;
    E = echo;
    F = foxtrot;
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let dictionary: [String : String] = ["A" : "alfa",
                                     "B" : "bravo",
                                     "C" : "charlie",
                                     "D" : "delta",
                                     "E" : "echo",
                                     "F" : "foxtrot"];
print(dictionary)

在控制台上打印以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
["B": "bravo", "A": "alfa", "F": "foxtrot", "C": "charlie", "D": "delta", "E": "echo"]

斯威夫特有没有一种方法可以让它成为漂亮的印刷词典,每个键值对占据一条新的线?

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2016-08-04 10:47:04

例如,如果目标是检查字典,可以使用转储dump是Swift标准库的一部分。

用法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let dictionary: [String : String] = ["A" : "alfa",
                                     "B" : "bravo",
                                     "C" : "charlie",
                                     "D" : "delta",
                                     "E" : "echo",
                                     "F" : "foxtrot"]

dump(dictionary)

输出:

dump通过反射(镜像)打印对象的内容。

数组的详细视图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let names = ["Joe", "Jane", "Jim", "Joyce"]
dump(names)

指纹:

▿4元素 -乔 - 1:简 - 2: Jim - 3:乔伊斯

一本字典:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let attributes = ["foo": 10, "bar": 33, "baz": 42]
dump(attributes)

指纹:

▿3键/值对 ▿:(2元素) - .0: bar - .1: 33 ▿1:(2个元素) - .0: baz - .1: 42 ▿2:(2个元素) - .0: foo - .1: 10

dump被声明为dump(_:name:indent:maxDepth:maxItems:)

第一个参数没有标签。

还有其他可用的参数,如name,用于为被检查的对象设置标签:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dump(attributes, name: "mirroring")

指纹:

▿镜像:3个键/值对 ▿:(2元素) - .0: bar - .1: 33 ▿1:(2个元素) - .0: baz - .1: 42 ▿2:(2个元素) - .0: foo - .1: 10

您还可以选择使用maxItems:只打印一定数量的项,用maxDepth:解析对象到一定深度,并使用indent:更改打印对象的缩进。

票数 117
EN

Stack Overflow用户

发布于 2017-10-12 10:39:46

po 解决方案

对于那些希望在console中将字典看作JSON而没有转义序列的人,下面是一种简单的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(lldb) p print(String(data: try! JSONSerialization.data(withJSONObject: object, options: .prettyPrinted), encoding: .utf8)!)

更新

也看看这个答案吧。

票数 149
EN

Stack Overflow用户

发布于 2017-06-14 08:23:27

将字典转换为“AnyObject”对我来说是最简单的解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let dictionary = ["a":"b",
                  "c":"d",
                  "e":"f"]
print("This is the console output: \(dictionary as AnyObject)")

对于我来说,这比转储选项更容易阅读,但请注意,它不会给出键值的总数。

票数 146
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38773979

复制
相关文章
如何把控制台上已有的资源导入terraform
对于老用户,常常有把控制台上已有的资源导入terraform的需求。本篇以把控制台上已有的eip资源为例,介绍如何导入已有资源到terraform编排中。同时将该资源与tf中创建的NAT网关相绑定。
王罡
2019/11/22
3.8K0
如何把控制台上已有的资源导入terraform
ffmpeg控制台上不能输出信息的解决办法
-mwindows是windows窗口APP所需的参数,而要在控制台下输出信息必须是windows控制台程序。
雪影
2018/08/02
1.2K0
如何将微信小程序的app.json文件打印到控制台上?
1、点击[编辑器] 2、点击[编译] 3、点击[app.json] 4、点击[编辑器] 5、点击[编译]
裴来凡
2022/05/28
1.4K0
如何将微信小程序的app.json文件打印到控制台上?
Swift控制语句
Swift提供了类似C语言的流程控制结构,包括可以多次执行任务的for和while循环。还有基于特定条件选择执行不同代码分支的if、guard和switch语句,还有控制流程跳转到其他代码的break和continue语句。
全栈程序员站长
2022/07/18
6980
Swift基础 访问控制
翻译自:https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html
郭顺发
2023/07/17
1640
Swift基础 控制流程
翻译自:https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html
郭顺发
2023/07/17
1260
Swift入门:访问控制
大多数情况下,您不需要指定访问控制,但有时您会希望显式地将属性设置为私有,因为它会阻止其他人直接访问它。这是很有用的,因为您自己的方法可以使用该属性,但其他方法不能,从而迫使它们通过您的代码执行某些操作。
韦弦zhy
2020/03/19
9390
R语言︱词典型情感分析文本操作技巧汇总(打标签、词典与数据匹配等)
笔者寄语:情感分析中对文本处理的数据的小技巧要求比较高,笔者在学习时候会为一些小技巧感到头疼不已。
悟乙己
2019/05/28
3.7K0
Swift 基础之控制流
Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的 for 和 while 循环,基于特定条件选择执行不同代码分支的 if 和 switch 语句,还有控制流程跳转到其他代码的 break 和 continue 语句。
Swift社区
2021/11/26
4680
Swift 基础之控制流
Swift教程(五)--控制流
Swift 提供所有多样化的控制流语句。包括 while 循环来多次执行任务;if , guard 和 switch 语句来基于特定的条件执行不同的代码分支;还有比如 break 和 continue 语句来传递执行流到你代码的另一个点上。相信有编程基础的小伙伴们都不陌生了,这一章节就不做过多的阐述了。
roc
2019/07/31
7130
Swift3.0 - 流控制
需求二: 输入一个顶点 判断是否在X轴上,或者Y轴上,或者既不在x轴,也不再Y轴上
酷走天涯
2018/09/14
4610
swift 获取控制器
得到view的控制器 /** view 获取它的控制器 */ public func viewController()->UIViewController? {
星宇大前端
2019/01/15
1.5K0
开心档之Swift 访问控制访问控制
你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。
爱学iOS的小麦子
2023/05/09
8000
Swift 基础之控制流
Swift 提供了类似 C 语言的流程控制结构,包括可以多次执行任务的 for 和 while 循环,基于特定条件选择执行不同代码分支的 if 和 switch 语句,还有控制流程跳转到其他代码的 break 和 continue 语句。
网罗开发
2021/01/29
6390
Swift系列二 - 循环控制
一、if-else if后面的条件可以省略小括号 条件后面的大括号不可以省略 let age = 10 if age >= 18 { print("大学") } else if age >= 16 { print("高中") } else { print("义务") } if后面的条件只能是Bool类型 二、while var num = 3 while num > 0 { print("num is \(num)") num -= 1 } /* 输出: n
呆呆
2021/05/27
4160
不想装系统,有没有办法在线体验 Linux?
另外,这次分享还有承上启下的作用。承上是前几天挺受大家欢迎的《Android 手机如何改造成 Linux 服务器?》,启下是想预告:从明天开始,我会在每次发文的次条加入“轻松掌握Linux命令”系列,希望从基础的命令开始,提升 Linux 技术水平,敬请期待!
Python猫
2019/11/12
4.9K0
开心档之Swift 访问控制
你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。
iOS Magician
2023/03/21
8770
Swift进阶四——流程控制
我们可以使用函数stride(from:, to:, by:)来跳过不想要的标记(开区间);闭区间也同样适用,使用stride(from:, through:, by:)函数即可。
拉维
2020/12/11
8550
Swift进阶四——流程控制
开心档之Swift 访问控制
你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。
爱学iOS的小麦子
2023/03/06
1K0
点击加载更多

相似问题

有没有办法把屏幕的内容打印到网页上?

11

有没有办法把输出也打印到标准输出和捕获中?

03

在控制台上打印和打印到文件

30

把JSON打印到R控制台?

115

有没有办法把存储的属性放到swift的扩展中?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文