iOS持续学习
文章平均质量分 86
根据项目及学习经历进行总结分析,持续学习系列
ADreamClusive
这个作者很懒,什么都没留下…
展开
-
iOS 工程自动化 - OCLint
前言最近一直在做 iOS 工程自动化方向的事情,所以把自己研究和实践的内容进行记录并分享,希望能给大家一些帮助。为什么要使用 OCLint做为一个静态代码分析工具,我们引入 OCLint 的目的主要是为了提高我们的代码质量。通常我们提高代码质量的方式是通过 CodeReview,但是这个过程耗费的人工和时间往往较大,所以我们想通过 OCLint 的一些规则,让机器帮我们完成一部分代码质量的检测,从而提高我们的工作效率。安装 OCLintOCLint 的安装方式有很多中,这里我们选择最简单的方式:通转载 2022-05-03 15:17:32 · 513 阅读 · 0 评论 -
设计模式之类簇Class Clusters
文章目录没有类簇:理念简单,接口复杂使用类簇:简单的理念,简单的接口创建实例对象具有多个公共基类的类簇在一个类簇中创建子类子类化子类化示例组合对象组合对象示例此设计模式是基于抽象工厂模式实现的,在OC的Foundation框架中有很多应用。抽象基类封装了多个具体子类的实现,这种方式既简化了面向对象框架的可见结构,又保证了功能的丰富性。没有类簇:理念简单,接口复杂考虑设计一个类的层次结构,来存储(char/int/float/double)基础数据;由于这些数据存在一些共性,所以设计一个基类Numbe原创 2021-04-12 10:47:53 · 506 阅读 · 0 评论 -
Delegates and Data Sources
文章目录不使用类簇:理念简单,接口复杂使用类簇:简单的理念,简单的接口创建实例对象具有多个公共基类的类簇在一个类簇中创建子类子类化子类化示例组合对象组合对象示例此设计模式是基于抽象工厂模式实现的,在OC的Foundation框架中有很多应用。抽象基类封装了多个具体子类的实现,这种方式既简化了面向对象框架的可见结构,又保证了功能的丰富性。不使用类簇:理念简单,接口复杂考虑设计一个类的层次结构,来存储(char/int/float/double)基础数据;由于这些数据存在一些共性,所以设计一个基类Num原创 2021-04-12 10:44:44 · 146 阅读 · 0 评论 -
iOS开发之日期格式转换及时间间隔判断
0. 说明支持时间戳与日期、日期和字符串的相互转换;支持日期转星期;支持以下时间段判断:一分钟内、一小时内、昨天、今天、明天、今年;1. 具体代码//// NSDateExt.h// SwiftExercises//// Created by ADreamClusive on 20/11/2017.// Copyright © 2017 ADreamCl...原创 2018-10-19 18:56:35 · 690 阅读 · 0 评论 -
iOS查看系统所有字体(带效果图)
NSString *sampStr = @"开发者ADreamClusive";NSMutableAttributedString *fontStr = [NSMutableAttributedString new];for(NSString * familyName in [UIFont familyNames]){// NSLog(@"字体族科名 = %@",fami...原创 2018-09-19 17:58:55 · 4010 阅读 · 0 评论 -
iOS&Mac应用在AppStore中的下载地址
AppStore中应用的下载地址通用格式: https://itunes.apple.com/cn/app/idxxxxxxx?mt=8使用我们的应用的AppleID替换上面链接 id xxxxx ?mt=8中的xxxxxx。查看应用的AppleID:...原创 2018-09-07 18:50:57 · 3676 阅读 · 0 评论 -
iOS&Mac优雅的处理数据为空情况
新建CheckNullTool类继承自NSObject,在代码中使用方式:NSArray *listData = nil;listData = [CheckNullTool replaceNullData:listData];NSString *phone = nil;phone = [CheckNullTool replaceNullData:phone];#import "Che...原创 2018-09-19 11:05:22 · 432 阅读 · 0 评论 -
Mac关闭iTunes自动备份
使用苹果电脑时,每次iOS设备连接Mac电脑,Mac中的iTunes都会自动备份iOS系统,导致Mac存储空间持续吃紧!!!!取消iTunes对iOS设备的备份功能完全退出iTunes后,在终端运行如下命令defaults write com.apple.iTunes DeviceBackupsDisabled -bool YES具体如下:Last login:...原创 2018-08-23 17:45:16 · 3525 阅读 · 0 评论 -
iOS&Mac SDK开发(自动链接,方便调试)
公司最近开发SDK,最开始使用原工程、SDK工程、SDK集成Demo验证三个工程分开的方式开发,每次都要在原工程开发实现效果后,将代码拖到SDK工程生成Framework,再将Framework导出到SDK集成Demo进行验证,做了很多不必要的机械性工作。本篇通过WorkSpace+SDK自动生成脚本相结合实现代码效果与SDK制作实现同步操作。Demo地址点这里1. 工作区(WorkS...原创 2018-09-03 11:43:13 · 593 阅读 · 0 评论 -
Xcode9真机无线测试
无线测试条件:Xcode9、iOS11系统。具体步骤如下:1 Xcode 中打开设备列表2 勾选 connect via network 选项3 配置手机的 ip 地址4 连接成功后大功告成,现在可以进行真机测试了!...原创 2018-04-04 21:27:33 · 375 阅读 · 0 评论 -
编译链接报错Undefined symbols for architecture arm64: referenced from :
报错: Undefined symbols for architecture arm64: “_OBJC_CLASS_$_类名”, referenced from : Objc-class-ref in 类名.oUndefined symbols for architecture arm64: "_OBJC_CLASS_$_JCAlertController", referenced fro...原创 2018-04-05 14:30:08 · 6340 阅读 · 0 评论 -
OC和CF对象内存管理
iOS开发中,OC和CF对象可以随意转换,以NSString和CFStringRef为例。CFStringRef aCFString = (CFStringRef)aNSString;NSString *aNSString = (NSString *)aCFString;对于内存管理,ARC可以对OC对象内存进行管理,但未提供对CF对象的内存管理。对于二者转换后的内存管理,分如下两种方式:1 ...原创 2018-04-05 21:02:36 · 746 阅读 · 0 评论 -
CF对象释放的问题
CFStringRef keys[2]; keys[0] = CFSTR("1111"); keys[1] = CFSTR("2222"); printf("%p -- %p -- %s\n", keys, *keys, CFStringGetCStringPtr(*keys, kCFStringEncodingUTF8)); CFRelease(*keys); ...原创 2018-04-05 21:24:29 · 526 阅读 · 0 评论 -
iOS内存泄漏检查
内存溢出 (out of memory):是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory。通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。内存泄露( memory leak):是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存...原创 2018-04-05 22:32:08 · 467 阅读 · 0 评论 -
iOS内存泄漏的几种情况
老生常谈的几种循环引用造成的内存泄漏问题。1 Block和delegate2 timer的使用另外几种内存泄漏的情况。1 非OC对象内存处理在ARC下,只对OC对象进行了自动化管理。但对于非OC对象仍然需要手动释放CGImageRef类型变量非OC对象,其需要手动执行释放操作CGImageRelease(ref),否则会造成大量的内存泄漏导致程序崩溃;其他的对于CoreFoundation框架下的...原创 2018-04-05 23:02:01 · 754 阅读 · 0 评论 -
iOS instruments之Core Animation
首先,感谢这篇文章的作者,将文章分享出来。文章主要讲述一下几个问题:为什么要把控件尽量设置成不透明的,如果是透明的会有什么影响,如何检测这种影响? 为什么cell中的图片,尽可能要使用正确的大小、格式,如果错误会有什么影响,如何检测这种影响? 为什么设置阴影和圆角有可能影响滑动时流畅度? shouldRasterize和离屏渲染的关系是什么,何时应该使用?具体的请查看上边的原文。本文进行一下...原创 2018-04-06 15:29:15 · 546 阅读 · 0 评论 -
__OBJC__宏定义的作用
添加文件ZLHeader.h内容如下:#ifndef ZLHeader_h#define ZLHeader_h#ifdef __OBJC__#import "NetworkTools.h"#endif#endif /* ZLHeader_h */__OBJC__这个宏定义的作用是保证只有OC文件可以调用.h里面的头文件,一些非OC语言不能调用,比如.cpp,.m...原创 2018-08-24 14:38:47 · 1067 阅读 · 0 评论