Charts:一个强大的iOS图表框架

Charts:一个强大的iOS图表框架,第1张

原文地址: >

主项目中的分层主要包含四个模块,Main(主要)、Expand(扩展)、Resource(资源)、Vender(第三方),还有本项目是有多个Tag,用于区分不同的版本,比如本地环境测试版、产品版,主要是通过Tag来区分,不同的标识对应不同的连接地址;当然也可以设置其它不同的内容

21 Main(主要)模块的内容

此模块主要目的是为了存放项目的页面内容,比如MVC的内容,Base(基类)用于存放一些公共的内容,其它功能模块的提取,方便继承调用;在本实例中已经在BaseController整理的一个公用的ViewController

22 Expand(扩展)模块的内容

此模块主要包含 Const、Macros、Tool、NetWork、Category、DataBase六个子模块;

221 Macros (宏) 主要存放宏定义的地方,这边有两个宏文件,Macrosh主要是项目的一些主要宏,比如字体、版本、色值等,而ThirdMacrosh主要用于存放一些第三放SDK的key值;

222 Tool(工具类)主要存放一些常用的类,此处Logger用于存放日志的封装帮助类,Reachability用于存放判断网络状态的帮助类;

223 Network(网络)这边主要用到YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,这边是对它进行一些修改,为了满足不同Tag及不同的功能模块可能访问不同URL的要求;

224 Category(分类)主要用到Git上面iOS-Categories分类的内容,多创建一个Other用于存放平时要扩展的分类;

23 Resource(资源)模块的内容

资源模块主要包含三方面,Global( 全局 )、Image( )、Plist( 配置文件 );

231 Global用于存放项目一些全局的内容,包含启动项的内容LaunchScreenstoryboard、头部引用PrefixHeaderpch、语言包Filestrings

232 Image用于存放资源,可以根据功能模块进行再分不同的xcassets文件;

233 Plist用于存放plist文件,主要是本项目中会创建多个的Tag,而每个Tag都会有自个的plist文件进行管理,所以统一存放方便管理;

24 Vender(第三方)模块的内容

虽然项目中已经用Pod来管理第三方插件,但对于一些可能要进行修改的第三方可以存放在这边,本实例中引用的几个比较常用的第三方插件,简单介绍其中的几个,GVUserDefaults是对UserDefaults的封装,简单就可以用于存取 *** 作;JDStatusBarNotification是在状态栏提示效果的插件;ActionSheetPicker底部d出如时间选择、选项的插件;QBImagePickerController是照片选择插件,支持多选并可以设置最多选择张数;

1准备一张指南针的(下面可以使用)

2导入CoreLocation框架以及对应的主头文件 并且设置代理

3懒加载创建CLLocationManager对象并设置代理

4 调用方法, 开始获取设备朝向   

5 在对应的代理方法中获取设备朝向信息

既然要承载 web 页面,一个原生的 WebView 必不可少。在 iOS 中,目前已经有两款高性能、功能齐全的 web 浏览器,UIWebView (>=20)和 WKWebView(>=70)。

当然,两种 web 浏览器选其一即可。网上有很多文章,包括我之前已经发表的博文中,都介绍过这两种浏览器,读者可以根据自己的需要选择。

就目前的情况看,UIWebView 发展了很多年,目前市面上大部分的 web 页面也都支持这样的浏览器,因此很多公司在选择的时候都使用这个,但是,我们知道,WKWebView 有太多改善前者的优点,而且也是苹果官方提倡大家使用的,为了性能,为了更多的特性,建议初次搭建的朋友采用 WKWebView。

为了实现 h5 与 native 之间的互相调用,我们需要在两者之间架一层桥来实现,关于 bridge,之前的文章也有介绍。

bridge 的功能包括:native 调用 h5,h5 回调 native,h5 调用 native,native 回调 h5。

有了 bridge,h5可以使用 native 支持的更多特性,native 可以获取 h5 页面加载的信息,也可以让 web 页面动态执行一些脚本做一些事。

总之,在 web 容器框架中,这个 bridge 还是很有必要的。

嗯,这个是辅助项,做了这一步可以进一步提高 web 容器的加载性能,而且资源缓存到本地后可以做到不依赖网络,提高用户体验。

通常有两种做法,

UIWebView 使用简单,而且现在用户的手机性能也已经不再是页面展示性能的瓶颈,所以,这里介绍的依然采用 UIWebView 作为 web 浏览器。

WebViewJavascriptBridge 是一款非常强大的第三方开源 bridge 库,同时支持 UIWebView 和 WKWebView。

git 地址

NJKWebViewProgress 是一款能使 UIWebview 显示加载进度的第三方开源框架,支持代理协议处理和 progressview 展示两种功能。

git 地址

OCUnit 是 OC 官方测试框架, 现在被 XCTest 所取代。

XCTest 是与 Foundation 框架平行的测试框架。

GHUnit 是第三方的测试框架。 github地址

OCMock都是第三方的测试框架。 github地址

以上就是关于Charts:一个强大的iOS图表框架全部的内容,包括:Charts:一个强大的iOS图表框架、iOS开发怎么加入私有框架API、iOS 分层架构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9350719.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存