OC实用转换model的工具

OC实用转换model的工具

 

说明

这是本人写的一个专门用来将json数据直接转换生成Model文件的工具,目的是为了让你从写Model文件的繁琐过程中解脱出来,提升效率以及减少出错的几率,工具的特点如下:

1. 用组合设计模式处理树形数据结构(非线性数据结构)

2. 在调试台中处理生成Model文件

3. 一次生成所有的Model文件,自动过滤Null值,后续维护Model提供UndefinedKey提示(以下为演示中一次生成的所有Model文件)

*4. 设计原理基于非线性数据结构,需要对树形结构有所了解才能理解源码的实现原理

 

源码

https://github.com/YouXianMing/iOS-Utilities

 

使用

1) 导入文件夹并在pch文件中引入头文件 CreateModel.h

 

2) 在能获取到json数据的地方打上断点(注意:此刻的json数据已经被你处理成了字典)

 

3) 此时在(lldb)输入 po [NodeModelHelper jsonData:data rootModelName:@"Model"] 然后再按回车键进入编辑Model列表的页面

 

4) 可以查看并编辑model数据

 

5) 点击右上角的 Create 按钮,就会生成Model文件了(此处会提供生成文件所在的路径)

 

6) 点击左上角的 B ack 可以退出当前控制器

 

7) 验证生成的文件(自己可以修改一些Model的map问题)

 

8) 层级关系已经自动帮你弄好了 ^_^

 

9) 使用的话, 就用initWithDictionary: 方法即可, 而那个数据就是你之前的json数据(已经转化成字典的json数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 macOS 中,有多种方式进行坐标转换。以下是其中两种常见的方法: 1. 使用坐标转换函数 在 macOS 中,可以使用以下函数将一个坐标点从一个坐标系转换到另一个坐标系: ```objc NSPoint NSConvertPoint(NSPoint aPoint, NSRect fromRect, NSRect toRect); ``` 其中,`aPoint` 是需要转换的坐标点,`fromRect` 是源坐标系(通常是屏幕坐标系),`toRect` 是目标坐标系(通常是视图坐标系)。例如,要将屏幕上的坐标点转换为视图上的坐标点,可以这样写: ```objc NSPoint screenPoint = {100, 100}; // 屏幕坐标系 NSRect viewFrame = [self.view frame]; // 视图坐标系 NSPoint viewPoint = NSConvertPoint(screenPoint, nil, viewFrame); // 转换坐标 ``` 2. 使用坐标转换矩阵 另一种常见的方式是使用坐标转换矩阵。在 macOS 中,可以使用以下方法创建一个坐标转换矩阵: ```objc NSAffineTransform *transform = [NSAffineTransform transform]; [transform scaleXBy:scaleX yBy:scaleY]; [transform rotateByDegrees:rotation]; [transform translateXBy:translateX yBy:translateY]; ``` 其中,`scaleX` 和 `scaleY` 是缩放因子,`rotation` 是旋角度,`translateX` 和 `translateY` 是平移量。例如,要将屏幕上的坐标点转换为视图上的坐标点,可以这样写: ```objc NSAffineTransform *transform = [NSAffineTransform transform]; [transform translateXBy:-viewFrame.origin.x yBy:-viewFrame.origin.y]; // 将视图坐标系移到原点 [transform concat]; // 应用坐标转换矩阵 NSPoint screenPoint = {100, 100}; // 屏幕坐标系 NSPoint viewPoint = [self.view convertPoint:screenPoint fromView:nil]; // 转换坐标 ``` 这里使用了 `NSView` 类的 `convertPoint:fromView:` 方法,将屏幕上的坐标点转换为视图上的坐标点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值