iOS_Class_Hierarchy
===================
用 Ruby 写的脚本,可以提取 iOS 项目中的类继承关系。
用法:
ruby class_hierarchy.rb path_to_iOS_project
抽取出的类关系会在 Ruby 脚本的当前执行目录下生成 Extracted 文件夹,里面是 JSON 格式的结果文件。 对 AFNetworking [提取的类关系](./Extracted):
{
"NSObject": [
"AFHTTPRequestOperationManager",
"AFNetworkReachabilityManager",
"AFSecurityPolicy",
{
"AFHTTPRequestSerializer": [
"AFJSONRequestSerializer",
"AFPropertyListRequestSerializer"
]
},
"AFQueryStringPair",
"AFStreamingMultipartFormData",
"AFHTTPBodyPart",
{
"AFHTTPResponseSerializer": [
"AFJSONResponseSerializer",
"AFXMLParserResponseSerializer",
"AFXMLDocumentResponseSerializer",
"AFPropertyListResponseSerializer",
"AFImageResponseSerializer",
"AFCompoundResponseSerializer"
]
},
{
"AFURLSessionManager": [
{
"AFHTTPSessionManager": [
"AFAppDotNetAPIClient"
]
}
]
},
"AFURLSessionManagerTaskDelegate",
"AppDelegate",
"Post",
"User",
"AFNetworkingTests",
"AFNetworkActivityIndicatorManager"
]
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这个Ruby脚本的目的是从iOS项目中提取出类的继承关系,并以JSON格式导出结果文件。利用这个脚本,我们可以便捷地分析一个iOS项目的类结构。 脚本的工作原理是遍历iOS项目中的所有Swift文件,通过解析语法树来找出类定义以及继承关系。具体来说,它会查找class关键字定义的类,并分析这个类有没有继承某个父类。同时还会记录下类的访问级别(public/internal等)。 遍历并解析完所有的Swift文件后,脚本会生成一个包含所有类继承关系的数据结构。然后它会在当前执行目录下创建Extracted文件夹,并在其中生成结果JSON文件。每个JSON文件都包含一个根类名作为文件名,内容是这个类的所有子类信息。 举例来说,如果项目中有个根类BaseViewController,它有两个子类HomeViewController和SettingsViewController。那么结果JSON中就会生成一个BaseViewController.json文件,内容是HomeViewController和SettingsViewController的信息。
资源推荐
资源详情
资源评论
收起资源包目录
iOS_Class_Hierarchy.zip (39个子文件)
iOS_Class_Hierarchy
class_hierarchy.rb 3KB
重要内容必读.pdf 230KB
LICENSE 18KB
.git
index 1KB
HEAD 23B
refs
heads
master 41B
tags
remotes
origin
HEAD 32B
objects
pack
pack-0e26023dfca4cf877920a67c8a0fcf3d0c99452f.pack 11KB
pack-0e26023dfca4cf877920a67c8a0fcf3d0c99452f.idx 2KB
info
description 73B
packed-refs 114B
info
exclude 240B
logs
HEAD 187B
refs
heads
master 187B
remotes
origin
HEAD 187B
hooks
post-update.sample 189B
prepare-commit-msg.sample 1KB
commit-msg.sample 896B
pre-receive.sample 544B
update.sample 4KB
pre-commit.sample 2KB
pre-rebase.sample 5KB
applypatch-msg.sample 478B
fsmonitor-watchman.sample 5KB
push-to-checkout.sample 3KB
pre-applypatch.sample 424B
pre-push.sample 1KB
pre-merge-commit.sample 416B
config 340B
Extracted
NSInputStream.json 56B
NSObject.json 935B
NSOperation.json 115B
XCTestCase.json 475B
NSURLProtocol.json 52B
NSCache.json 41B
UITableViewController.json 71B
UITableViewCell.json 54B
SenTestCase.json 193B
README.md 1KB
共 39 条
- 1
资源评论
进击的代码家
- 粉丝: 2203
- 资源: 204
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功