- 博客(222)
- 资源 (11)
- 收藏
- 关注

原创 ARC到底帮我们做了哪些工作?
从iOS5开始, 就支持自动引用计数(Automatic Reference Counting, ARC)了, 所以就变得更为简单了。ARC几乎把所有内存管理事宜都交由编译器来决定, 开发者只需专注于业务逻辑。
2018-03-07 18:47:08
7511

原创 iOS架构模式(MVC/MVCS/MVP/MVVM/VIPER)
在进行架构设计的时候到底是选择MVC或者MVVM还是选择VIPER呢? 这就要根据你的业务需求, 项目规模以及项目未来的推演预测等诸多因素了. 这也是争议颇多的话题,所以我在这里来把几个主流思想做一个梳理, 今天就来说一说 ——— iOS架构模式
2016-07-27 22:30:20
10491
原创 SwiftTips之Language&API
继令你极度舒适的Swift集合类高阶函数之后,把很久之前Swift知识进行了梳理并总结成文。这些Swift知识点大多是一些细节,容易忽略但使用效果又极佳,其中包括语言基础、内存、指针、OC差异、优雅奇点、开发环境等方面。
2019-07-31 10:46:11
1557
原创 令你极度舒适的Swift集合类高阶函数
在Swift的集合类型中,有许多十分便捷的函数。相比于Objective-C,这些高阶函数会引起你的极度舒适。因为在Swift的许多函数中引入了闭包元素,这就直接造就了它的灵活性,简直就是极致的便捷。
2019-06-29 18:08:37
2291
原创 Swift基础知识碎片
1.函数的可变参数同一个方法中只能有一个可变参数,而且不限制可变参数在所有参数中的位置。在OC中可变参数只能作为方法中参数的最后一个。func sum(input: Int...) -> Int { return input.reduce(0, +)}sum(input: 1,2,3,4,5) // 152.inoutfunc switching(a: inout In...
2019-02-28 21:19:43
1605
原创 WatchOS开发教程之四: Watch与 iPhone的通信和数据共享
Watch与 iPhone的通信、WatchConnectivity通信框架、数据共享
2018-07-16 22:04:16
7478
2
原创 WatchOS开发教程之三: 导航方式和控件详解
WathOS的导航方式、系统控件使用详解包括Label, Image, Group, Table等
2018-07-12 15:05:42
4579
原创 WatchOS开发教程之二: 布局适配和系统Icon设计尺寸
WatchOS布局方式和适配方法、WatchOS中图片应用场景、Icon设计尺寸和线条设计
2018-07-09 17:14:30
4380
原创 WatchOS开发教程之一: Watch App架构及生命周期
Watch App架构和生命周期、WKInterfaceController的生命周期、WatchOS与 iOS的共性技术
2018-07-05 17:48:50
9470
原创 从一个例子来看Tagged Pointer特性
从采用64位处理器后, 为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。减少一半的内存占用,以及3倍的访问速度提升,100倍的创建、销毁速度提升。
2018-06-04 18:16:22
2260
原创 问题: 修改Xcode中源码时不再出现提示框
有些时候, 当你在查看Xcode中的源码API的时候, 无意修改了代码, 会对你有一个提示: Do you want to unlock it? 需要你选择Don ‘t Unlock 或者是 Unlock。
2018-05-31 18:20:25
1642
原创 clang编译错误: fatal error: ‘UIKit/UIKit.h‘ file not found
错误这是一个使用clang编译器将Objective-C代码编译成C语言代码, 并生成在一个.cpp的 C++文件中。具体的命令行是: $ cd 当前文件夹 $ clang -rewrite-objc SomeFile.m这是, 可能会遇到一个错误就是如下: fatal error: 'UIKit/UIKit.h' file not found#import <...
2018-03-19 10:52:36
7986
1
原创 nullable、nonnull、__nullable、__nonnull、_Nullable、__Nonnull 的区别
在苹果自己的API中, 我们也见过许多的参数的修饰符, 比如说在方法中修饰参数可否为空的标识。今天来总结下 nullable, nonnull, __nullable, __nonnull, _Nullable, __Nonnull 之间的区别。作用首先, nonnull, __nonnull, __Nonnull 这三个修饰的参数是不可以为nil的。如果参数被它们修饰, 且传入的实参...
2018-02-01 19:02:43
2331
原创 可变参数、不定参数(va_list、va_start、va_arg、va_end)
如何实现方法中传入参数为可变参数或不定参数, 方法中的某个形式参数可以接收多个参数(不确定个数的参数)。
2018-01-19 16:12:13
834
原创 问题: Mac外联硬盘不能更改“-”中的一个或多个项目,因为它们正在使用中
问题在Mac中, 外联移动硬盘或 U盘是 Windows 系统下的 NTFS 分区格式,而 Mac 系统原生是不支持这种格式的。而且很多时候还会产生一些其他的问题, 比如下面这个:这是第二个文件是灰色的, 当对它进行操作时, 会有一些错误, 会如下提示:不能更改“somefile”中的一个或多个项目,因为它们正在使用中。解决方案打开Terminal,在命令行输入xa
2018-01-12 14:29:52
22502
5
原创 错误: clang: error: no such file or directory: '/Users/...', clang: error: no input files
错误 clang: error: no such file or directory: ‘/Users/dcsnail/Desktop/…/SomeClass.m’ clang: error: no input files解决在Xcode 中搜索当前类名, 会发现同一个文件有两次添加或者在compile sources 中有两次导入。删除错误的一个即可解决此问题。
2018-01-05 11:14:36
13093
4
原创 Swift 之访问权限
控制访问级别Swift 为代码的实体提供个五个不同的访问级别, 分别是open、public、internal、fileprivate、private。
2018-01-02 15:15:27
2889
原创 Swift关键字总结下篇
Swift 中有多少关键字?在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。本文中涉及的代码可以在这里下载代码资源。 另外, 在特性中还有一些关键字, 是以@开头的关键字。这些所有的关键字将在 Swift 之关键字总结上篇 和 Swift 之关键字总结下篇 两篇文章中详
2017-12-29 10:35:01
4355
1
原创 Swift关键字总结上篇
Swift 中有多少关键字?在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。 本文中涉及的代码可以在这里下载代码资源。 另外, 在特性中还有一些关键字, 是以@开头的关键字。这些所有的关键字将在 Swift 之关键字总结上篇 和 Swift 之关键字总结下篇 两篇文章
2017-12-24 20:41:13
4256
原创 问题: Header Search Paths 与 User Header Search Paths 的区别
分析在Xcode->Target->BuildSettings中, 有两个设置一个是User Header Search Paths, 一个是 Header Search Paths. 其实还有一个废弃的Always Search User Paths.
2017-12-15 15:05:22
4131
原创 高效 OC开发之接口与API设计
Objective-C的命名规则及命名空间,私有方法的处理。另外,还有readOnly,NSError,NSCopying协议的高效使用。
2017-11-05 13:02:38
1320
原创 +load和+initialize方法的探究
前言在OC中, 根类NSObject或其子类被加载和初始化的时候,会触发一些方法,可以在适当的情况下做一些定制处理。其实, 这正是对应着load和initialize方法。
2017-08-23 16:02:49
864
1
原创 错误: HTTPS请求报错Error Code=-999 "cancelled"
Error Domain=NSURLErrorDomain Code=-999 “cancelled” UserInfo…….
2017-07-31 15:32:49
42616
原创 探究UIScrollView及其子类布局和适配的影响因素
前言很久之前写过两篇文章, 都是关于适配布局的, 分别是iOS6与iOS7屏幕适配 edgesForExtendedLayout和影响屏幕适配的因素及tableview的ContentSize不正确的问题。当然也欢迎大家先看下这两篇文章预热一下, 因为这篇文章其实是对上面这两篇的不足补充和勘正。今天重新总结一下关于UIScrollView及其子类的布局的问题及影响因素, 只是本文是以Tab
2017-07-23 00:18:43
1870
原创 错误: iOS审核被拒之 ipv6
苹果审核被拒原因:We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.2 on Wi-Fi connected to an IPv6 network
2017-06-29 17:38:07
3161
原创 浅谈DNS劫持及安全应对措施
由于博主公司是从事金融行业的, 所以在安全方面还是很重视的。而且现在iOS基本全部的应用都改用HTTPS协议了, 那还有必要针对DNS劫持做出安全措施吗? 今天咱们来谈一谈。
2017-06-24 13:59:06
3017
原创 方法:自定义Xcode模板样式
从代码规范的角度来讲, 每个类中都需要有响应的代码分类, 但每个代码模块都需要#pragma mark - 来分割代码, 未必也太过麻烦。
2017-06-22 17:46:30
1015
ARC到底帮我们做了哪些工作?(v1.3)
2019-03-20
可变参数、不定参数和nullable、nonnull
2019-03-20
Block实现原理与内存特性(v1.1)
2019-03-20
UIScrollView/UITableView布局的影响因素总结
2018-01-30
Swift 关键字总结
2018-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人