前边3篇介绍了YYClassinfo 文件的组成单元,算是功能的分割,按照业务的设计思想来说,方向应该是相反的由此引申出我们在设计api的思想其实和项目管理是很类似的----- 一些题外话1.目的回到代码,首先应该明确写这个类的目的是什么? 按照正常逻辑,我们需要一个类来获取我们所需要的所有和此类相关的信息包括(类名,父类,成员变量,方法,属性...)2.技术调研调研我们所需要的结果是否能够通过技
最近感觉知识匮乏,成长进步进度缓慢,早就听说YYKit屌到不行,遂来试着读一下,第一个先看YYModel首先看一下 YYClassInfo这个类,里面实现了对class基本信息的封装 (先大概了解,后面细说)YYClassIvarInfo,YYClassMethodInfo,YYClassPropertyInfo,YYClassInfo接下来说一下YYModel的使用(通过一个字典返回该类的实例化
本文拿一个简单的例子,看 YYModel 字典转模型的源代码有这么个模型@interface Author : NSObject @property NSString *name; @property NSString *birthday; @end @interface Book : NSObject @property NSString *name; @property NSUIn
YYModel大家肯定很熟悉,其非侵入性,易用性都使得它成为json-Model的新宠,接下来咱们分析下他的原理。必须要了解的知识先看YYClassInfo这个类,他是一个runtime中Class在OC层的封装,并且解析增加了很多描述,所以想了解YYModel原理必须对runtime有一定了解。在runtime层类型其实是一个结构体objc_class,objc_class中存储着指向超类的su
 (一)ESJsonFormat是自动生成json属性的插件,其默认源是MJExtension。如果想要和YYModel嵌套使用,需要修改下源代码。  默认MJExtension: (1)在git上下载:https://github.com/EnjoySR/ESJsonFormat-Xcode(2)打开代码源文件,在ESJsonFormatManager.m中搜索methodC
转载 2023-12-11 22:19:14
1037阅读
特性高性能: 模型转换性能接近手写解析代码。自动类型转换: 对象类型可以自动转换,详情见下方表格。类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。无侵入性: 模型无需继承自其他基类。轻量: 该框架只有 5 个文件 (包括.h文件)。文档和单元测试: 文档覆盖率100%, 代码覆盖率99.6%。 使用方法 简单的 Model 与 JSON 相互转换// JSON
转载 2023-10-15 19:12:35
383阅读
# 科普文章:iOS YYModeliOS开发中,数据模型的转换是一个常见的需求。YYModel是一个轻量级的iOS数据模型转换库,可以帮助开发者快速方便地进行数据模型的转换。本文将介绍YYModel的基本用法,并通过代码示例帮助读者更好地理解。 ## 什么是YYModel YYModel是由腾讯开发的一款iOS数据模型转换库,它提供了一种简单易用的方式,帮助开发者将JSON数据转换为i
原创 2024-07-14 08:59:57
56阅读
动态规划算法的核心就是记住已经解决过的子问题的解。记住求解的方式有两种:①自顶向下的备忘录法②自底向上。动态规划的经典模型线性模型线性模型的是动态规划中最常用的模型,上文讲到的钢条切割问题就是经典的线性模型,这里的线性指的是状态的排布是呈线性的。【例题1】是一个经典的面试题,我们将它作为线性模型的敲门砖。【例题1】在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的这边,现在他们需要过
 OC的run-time 机制,简直像是网络上的猫! 我在开发中很少用到,但是作为iOS开发 人家肯定会问这个东西,所以深入的学习了下。 对于 run-time的入手,YYModel的学习,简直让人美滋滋。  对于YYModel的 源码解析什么的,网上很多,我主要参考 马在路上 的总结,他都这个总结,是我看过对于新手最友好的总结。浅显易懂,逐条分析,流程分析
目录JSON转字符串普通字典转模型模型属性有自定义的模型YYUSer属性有数组(数组里自定义模型),还有字典和集合字典里的key与模型里的属性名不一致 常用的几个方法:# json转模型 + (instancetype)yy_modelWithJSON:(id)json; # 模型转字符串 - (NSString *)yy_modelToJSONString # 字典转模型 + (insta
转载 2024-06-02 19:29:30
180阅读
11. iOS 类(class)和结构体(struct)有什么区别?Swift 中,类是引用类型,结构体是值类型。值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个"指向"。所以他们两者之间的区别就是两个类型的区别。举个简单的例子,代码如下class Temperature { var value: Float = 37.0}class Person { var temp: T
iOS Json转换模型库:YYModel其实在研究这个库之前,市面上已经有很多类似的模型序列化成JSON及反序列化库(如Mantle、MJExtension)了,推荐他只是因为他高端的性能和容错(错误对象类型赋值到属性时YYMODEL会尝试自动转换,避免Crash)以及低侵入(不需要你的MODEL类去继承某个基类、因为他是Category 方式来实现的)。作者号称对比性能如下:接下来直接写一个小
转载 2024-04-25 15:59:10
56阅读
YYModel介绍YYModel是一个针对iOS/OSX平台的高性能的Model解析库,是属于YYKit的一个组件,创建是ibireme。其实在YYModel出现之前,已经有非常多的Model解析库,例如JSONModel、Mantle和MJExtension。YYModel从易用性和性能方面均达到了最高水平。性能 Model解析库对比 特性High performanc
转载 2024-04-13 10:09:13
144阅读
YYModel 是我写的一个 JSON 模型转换库,功能和 Mantle、JSONModel 差不多,但有着更好的性能和容错性。这里简单介绍一下 YYModel 的使用方法。 1. 简单的 JSON 与 Model 的转换 // JSON: { "uid":123456, "name":"Harry", "created":"1965-07-31T00:00:00+
转载 2023-10-16 23:16:07
401阅读
# iOS引入YYModel:快速解析JSON的利器 在iOS开发中,数据交互常常需要将JSON数据转换为模型对象。使用手动解析会增加代码量且容易出错,因此引入一个模型映射库显得尤为重要。YYModel就是这样一个高效的模型库,它能帮助开发者轻松实现JSON与模型之间的转换。 ## 何为YYModel YYModel是一个轻量级、高性能的模型映射库,旨在通过简单配置实现对象序列化和反序列化。
原创 2024-10-26 07:26:43
87阅读
# iOS YYModel 映射实现指南 在近几年的 iOS 开发中,YYModel 因其简洁明了的对象模型映射而受到开发者的青睐。如果你是刚入行的小白,那么这篇文章将指导你如何通过 YYModel 实现映射,并帮助你理解整个过程。我们将通过明确的步骤、代码示例和类图来帮助你更好地掌握。 ## 流程概述 下面是使用 YYModel 进行对象映射的基本步骤: | 步骤 | 描述 | |---
原创 7月前
37阅读
iOS JSON 模型转换库评测iOS 开发中总会用到各种 JSON 模型转换库,这篇文章将会对常见的几个开源库进行一下评测。评测的内容主要集中在性能、功能、容错性这几个方面。一、评测的对象:Manually 手动进行 JSON/Model 转换,不用任何开源库,可以进行高效、自由的转换,但手写代码非常繁琐,而且容易出错。YYModel 我造的一个新轮子,比较轻量(算上 .h 只有 5 个文件),
关于源码学习自己的一些感悟 第一层:熟练使用; 第二层:读懂代码; 第三层:通晓原理; 第四层:如何设计; 自己学到了什么,还留有什么问题; 关于分享 关于线下演讲分享和线上文章分享,我一直觉得技术领域要学东西的话线上文章分享是最好的形式,一是它传播广,触达用户多;二是耗时少,写一篇文章或看一篇文章都比听一个分享花的时间少很多;三是可沉淀,读者可以反复看细节,可以沉淀下来不断被人搜索
# 理解 iOS YYModel 原理的简单指南 YYModel 是一个轻量级、高效的模型转化工具,它能够方便地将 JSON 数据映射到 Objective-C 或 Swift 对象中。本文将通过步骤细化、实例代码以及甘特图展示如何实现这一目标。 ## 流程概述 首先,让我们看一下实现 YYModel 的基本步骤: | 步骤 | 描述
原创 2024-10-22 06:18:19
22阅读
YYModel作为开发过程中模型转换框架,为JSON与数据模型之间的相互转换,提供了高性能的解决方案。之前一直听别人说,YYModel内部实现是KVC进行的属性赋值。也认为是合理的,但是今天查看源码发现,里边其实并不是采用的setValue:forKey:的方式进行赋值的。而是采用了objc_msgSend方法调用了属性的setter方法进行赋值的。以后,跟别人说YYModel里可别再说是KVC了
转载 2023-07-25 14:24:31
1013阅读
  • 1
  • 2
  • 3
  • 4
  • 5