在iOS开发中,后台返回的数据大多是JSON格式,对应地会被网络框架层解析成Swift中的Dictionary.Array.由于数据类型的复杂.字段的繁多,直接使用Dictionary.Array会比较麻烦,比如items[0]["user"]["name"]这样的使用方式,非常不友善,而且没有智能语法提示.所以很多时候会考虑将JSON转换成Model之后再进行操作,会友善很多,比如items[0].user.name. Swift内置了一套Codable机制,可以…
在KakaJSON手册的第2篇文章中提过:由于JSON格式能表达的数据类型是比较有限的,所以服务器返回的JSON数据有时无法自动转换成客户端想要的数据类型 比如客户端想要的是Date类型,服务器返回的可能是字符串"2018-08-08 08:08:08.888"或者"2018/08/08 08:08:08.888" 像上述情况,KakaJSON内部是无法自动转换的,但提供了值过滤机制,允许开发者对JSON值进行自定义处理 日期处理 // 这2个DateFormatt…
除了完成JSON和Model的转换之外,KakaJSON内部还有很多实用的功能,有些也开放为public接口了 遍历属性 struct Cat { var age: Int = 0 let name: String = "" } guard let type = Metadata.type(Cat.self) as? ModelType, let properties = type.properties else { return } for property in propertie…
有时候,服务器返回的JSON数据的key跟客户端模型的属性名可能不一致,比如客户端遵守驼峰规范叫做nickName,而服务器端返回的JSON可能叫做nick_name.这时候为了保证数据转换成功,就需要对模型属性名和JSON的key进行相应的映射.KakaJSON提供了简单易用的映射方式. 最基本的用法 struct Person: Convertible { var nickName: String = "" var mostFavoriteNumber: Int = 0 var b…
前面的文章介绍了如何利用KakaJSON进行JSON转Model,从这篇文章开始介绍如何将Model转成JSON 生成JSON和JSONString struct Car: Convertible { var name: String = "Bently" var new: Bool = true var age: Int = 10 var area: Float = 0.12345678 var weight: Double = 0.1234567890123456 var heig…
man命令可以查看c语言库函数的函数原型, 比如 $ man malloc 如果显示 "No manual entry for malloc", 则需要安装 "man-pages" sudo yum -y install man-pages Linux 中的 man 就是 manual 的缩写, 用来查看系统中自带的各种参考手册, 但是手册页分为好几个部分,如下所示:(注:手册页, 很重要的, 一般我们也都没有用上,不过有时候, 你就会发现你用上了) 1.Execu…
由于JSON格式的能表达的数据类型是比较有限的,所以服务器返回的JSON数据有时无法自动转换成客户端想要的数据类型. 比如服务器返回的时间可能是个毫秒数1565480696,但客户端想要的是Date类型 再比如客户端想要的是浮点数Double类型,但服务器返回的可能是字符串类型"6.45" 再比如客户端想要的是Bool类型,但服务器返回的可能是"true"."1".0 再比如客户端想要的是高精度浮点数NSDecimalNumber类型,服务器为了…
在上一篇文章中提到:有时候服务器返回的某个字段的内容类型可能是不确定的 当时给出的解决方案是实现kk_modelValue或者kk_didConvertToModel方法,根据实际需求自定义JSON的解析逻辑 如果不确定的内容是要转成模型,KakaJSON有更简单的实现方案 举例 struct Book: Convertible { var name: String = "" var price: Double = 0.0 } struct Car: Convertible { var…
KakaJSON可以只用一行代码将常用数据进行归档\解档 后面代码中会用到 file 文件路径 // 文件路径(String或者URL都可以) let file = "/Users/mj/Desktop/test.data" String let string1 = "123" // 将字符串写入文件 write(string1, to: file) // 从文件中读取字符串 let string2 = read(String.self, from: file) X…
原文地址 - 概述 原文地址 - 基本用法 同步目录 Synced folder 支持在宿主机和客户机之间共享目录,从而允许你在宿主机的项目文件上工作,但是可以在客户机上编译并运行. 默认情况下,Vagrant 会共享项目目录(包含 Vagrantfile 的目录)到 /vagrant. 1. 配置 通过 Vagrantfile 中的 config.vm.synced_folder 方法配置同步目录.配置指令的用法非常简单: Vagrant.configure("2") do |con…
今天在 SegmentFault 上看到又有人问起关于Shell里各种括号的问题.对于很多玩Shell的人,括号是个很尴尬的问题,用起来没问题,说起来不明白,我在这里总结一下Bash Shell几种括号的用法和区别,别的Shell我不会... (( )) :一对圆括号有两个地方用到. 1,for循环, for (( expr1 ; expr2 ; expr3 )) 这里一对双括号里边的表达式,GNU的文档指出,expr1支持 Shell Arithmetic:expr2不为0时,expr3被赋值…
Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息     文件管理 # pwd pwd 查看当前所在目录的绝对路经     文件管理 # cd cd .. 回当前目录的上一级目录     文件管理 # cd cd - 回上一次所在的目录     文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录…
前言 在<Linux中的文件查找技巧>一文中,我们已经知道了文件查找的基本方法,今天我们介绍find命令的一些高级使用技巧.它能满足我们一些更加复杂的需求. 查找空文件或空目录 有时候需要清理一些空的文件或者文件夹.这个时候就需要先找到它们. 1.查找空文件 我们利用之前介绍过的size参数,例如: find ./ -size 0 #查找当前目录下大小为0的文件./size_0_file 当然也可以利用-empty参数,例如: find -type f -empty # -type f指明了要…
前言   Man 手册页(Manua pages ,缩写man page) 是在linux操作系统在线软件文档的一种普遍形式.内容包括计算机程序库和系统调用等命令的帮助手册. 手册页是用troff排版软件包排版的,是一组man宏.当时手册页系统带来的联机文档可用性被认为是一项伟大的进步.时至今日几乎所有的unix命令行应用程序都附带了手册页,而很多Unix用户将缺少手册页视为低质量应用程序的一个标志.事实上,有些项目(如Debian)不辞劳苦的为缺乏手册的应有编写手册页: BSD的现代继任者也将…
超级方便的linux命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件     文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息     文件管理 # pwd pwd 查看当前所在目录的绝对路经     文件管理 # cd cd .. 回当前目录的上一级目录     文件管理 # cd cd - 回上一次所在的目录     文件管理 # cd cd ~ 或 cd 回当前用户的宿…
UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyBillDetail] B ON A.ID=B.[MaterialApplyBuyBillID]WHERE A.id=125 AND @InDetailCount=0DELETE:DELETE A FROM [SH_ClosingBalance] A LEFT JOIN [SH_StoreHouse]…
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录 (四) 一起学 Unix 环境高级编程 (APUE) 之 系统数据文件和信息 (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境 (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制 (七) 一起学 Unix 环境高级编程 (APUE)…
在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern) 现在分述如下: 1.Shell中变量的原形:${var}大家常见的变量形式都是$var…
对于一个被加载的页面,而遇到会卡的原因 ,代码量大,为了减少一句话分析,就采用分段式判断. 从php手册了解到,使用microtime函数,具体方法可参见php手册对这函数的用法 定义get_execution_time函数 function get_execution_time(){ static $microtime_start = null; if($microtime_start === null) { $microtime_start = microtime(true); return…
大家好,今天给大家分享一款编辑器:sublime text2     我用过很多编辑器, EditPlus.EmEditor.Notepad++.Notepad2.UltraEdit.Editra.Vim,还有包括netbeans , zendstudio, dreamweaver 等. 最后我遇见了sublime text.  sublime是我见过的最好的编辑器,大型IDE能实现的功能, 用sublime装上相应插件,都能实现. 它是一个小型编辑器, 运行速度很快.现在是鼓起勇气换掉你以前编…
sublime本身功能有限,我们需要装上一些插件使其变得强大.sublime在各个操作系统下都可以运行,但在linux下运行需要注意中文输入的问题. 下面我主要介绍一下常用插件.配置的建议以及在linux下运行的注意事项. 一,常用插件 1,package control. 我们用sublime几乎都会首先安装这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件就方便了.  安装方法:       点击sublime的菜单栏 view->show console :现在打开了控制台, 这…
1.对称加密算法概述 openssl的加密算法库提供了丰富的对称加密算法,我们可以通过openssl提供的对称加密算法指令的方式使用,也可以通过调用openssl提供的API的方式使用. openssl的对称加密算法指令主要用来对数据进行加密和解密处理,openssl基本上为所有其支持的对称加密算法都提供了指令的方式的应用,这些应用指令的名字基本上都是以对称加密算法本身的名字加上位数.加密模式或者其他属性组合而成.例如DES算法的CBC模式,其对应的指令就是des-cbc.可以通过命令查看当前版…
一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录 (四) 一起学 Unix 环境高级编程 (APUE) 之 系统数据文件和信息 (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境 (六) 一起学 Unix 环境高级编程 (APU…
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.其实正则表达式,只是一种思想,一种表示方法.只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串.常用的工具有grep, sed,…
注:此插件为我自己在用的,仅代表个人,如果发现好用的插件,会不断更新此博文. 1,package control 我们用sublime几乎都会首先安装这个插件,这个插件是管理插件的功能,先安装它,再安装其他插件就方便了.  安装方法:        点击sublime的菜单栏 view->show console(ctrl+`) 现在打开了控制台, 这个控制台有上下两栏, 上面一栏会实时显示sublime执行了什么插件,输出执行结果, 如果你安装的某个插件不能正常运行,应该先在这里看看有没有报错…
目录 grep 正则表达式 grep用法简介 我们介绍GREP的用法,主要用于匹配行,我们借助下面的正则表达式来介绍如何使用grep,还有就是正则表达式在linux中是极为重要的一部分. 命令:grep 格式:grep [option] "pattern" filename 选项: -v:反向选择 -i:忽略大小写 -n:显示行号 -c:统计行数 -o:仅显示匹配到的字符串 -w:匹配整个单词 -q:不输出任何信息 -A :after 显示后2行 -B :before 显示前3行 -C…
2019-4-20 21:04:14 day102linux 开始认真学习Linux ,因为服务器部署还是得会Linux 开始整理一下笔记 等把Linux全部学完后 然后写个文章整理一下! Linux大神 Linux超哥的博客 : https://www.cnblogs.com/pyyu 注意: Xshell 远程连接卡住(To escape to local shell, press 'Ctrl+Alt+]' vim /etc/ssh/sshd_config #UseDNS yes 改为 Us…
php的curl方法详细的见官方手册. curl_setopt用法:  http://www.php.net/manual/en/function.curl-setopt.php <?php $params = array( 'par1' => 'a', 'par2' => 11, ); $header = array("Content-type: application/json");// 注意header头,格式k:v $arrParams = json_enco…
目录: 一.文件目录类命令 二.文件压缩和归档类命令 三.系统状态类命令 四.网络类命令 五.其他 一.文件目录类命令 1.查看联机帮助信息. man命令.#man ls info命令. #info ls 2.列出当前目录或指定目录的文件名和目录名 ls [选项] 文件或目录 3.touch 功能:修改文件的创建日期或以当前系统日期创建一个空文件. -d:修改文件的日期. #touch–d20030123test.txt 4.cp 功能:复制文件 5.mv 功能:给文件或目录改名或将一个文件或目…
1. Package Control Get Package Control here. 2. Theme - Phoenix   and  Flatland(扁平) If Sublime Text 2 is a highly tuned race car, then this plugin is the flashy body work (that also provides down force.) This theme does some minor UI tweaks to the st…