自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DCSnail-蜗牛

但行耕耘...

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

原创 浅谈block实现原理及内存特性之一: 内部结构和类型

浅谈block实现原理及内存特性系列文章之一: 内部结构和类型

2018-03-16 17:01:20 3240 3

原创 ARC到底帮我们做了哪些工作?

从iOS5开始, 就支持自动引用计数(Automatic Reference Counting, ARC)了, 所以就变得更为简单了。ARC几乎把所有内存管理事宜都交由编译器来决定, 开发者只需专注于业务逻辑。

2018-03-07 18:47:08 7253

原创 iOS架构模式(MVC/MVCS/MVP/MVVM/VIPER)

在进行架构设计的时候到底是选择MVC或者MVVM还是选择VIPER呢? 这就要根据你的业务需求, 项目规模以及项目未来的推演预测等诸多因素了. 这也是争议颇多的话题,所以我在这里来把几个主流思想做一个梳理, 今天就来说一说 ——— iOS架构模式

2016-07-27 22:30:20 10312

原创 SwiftTips之Language&API

继令你极度舒适的Swift集合类高阶函数之后,把很久之前Swift知识进行了梳理并总结成文。这些Swift知识点大多是一些细节,容易忽略但使用效果又极佳,其中包括语言基础、内存、指针、OC差异、优雅奇点、开发环境等方面。

2019-07-31 10:46:11 1407

原创 令你极度舒适的Swift集合类高阶函数

在Swift的集合类型中,有许多十分便捷的函数。相比于Objective-C,这些高阶函数会引起你的极度舒适。因为在Swift的许多函数中引入了闭包元素,这就直接造就了它的灵活性,简直就是极致的便捷。

2019-06-29 18:08:37 2137

原创 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 1512

原创 iOS中的静态库和动态库

iOS的静态库和动态库详解、iOS从编译到目标文件、Mach-O文件

2019-01-22 15:03:44 1405

原创 区块链技术及应用

区块链技术及应用

2018-12-31 22:21:56 1533 1

原创 WatchOS开发教程之六: 表盘功能开发

WatchOS表盘开发流程, 工作原理, 表盘类型和表盘模板类型总结

2018-09-03 18:32:49 11738 2

原创 WatchOS开发教程之五: 通知功能开发

WatchOS通知静态和动态页面的开发、通知推送的分发规则、通知的授权和配置

2018-08-29 18:39:09 3452

原创 WatchOS开发教程之四: Watch与 iPhone的通信和数据共享

Watch与 iPhone的通信、WatchConnectivity通信框架、数据共享

2018-07-16 22:04:16 6742 2

原创 WatchOS开发教程之三: 导航方式和控件详解

WathOS的导航方式、系统控件使用详解包括Label, Image, Group, Table等

2018-07-12 15:05:42 4262

原创 WatchOS开发教程之二: 布局适配和系统Icon设计尺寸

WatchOS布局方式和适配方法、WatchOS中图片应用场景、Icon设计尺寸和线条设计

2018-07-09 17:14:30 4074

原创 WatchOS开发教程之一: Watch App架构及生命周期

Watch App架构和生命周期、WKInterfaceController的生命周期、WatchOS与 iOS的共性技术

2018-07-05 17:48:50 8964

原创 从一个例子来看Tagged Pointer特性

从采用64位处理器后, 为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。减少一半的内存占用,以及3倍的访问速度提升,100倍的创建、销毁速度提升。

2018-06-04 18:16:22 2154

原创 问题: 修改Xcode中源码时不再出现提示框

有些时候, 当你在查看Xcode中的源码API的时候, 无意修改了代码, 会对你有一个提示: Do you want to unlock it? 需要你选择Don ‘t Unlock 或者是 Unlock。

2018-05-31 18:20:25 1514

原创 高效 OC开发之系统框架

系统框架,集合遍历,NSCache,+load和+initialize等。

2018-05-24 16:08:16 1676

原创 高效 OC开发之Block和GCD

block, GCD,NSOperationQueue等实现多线程。

2018-05-21 12:53:04 1665

原创 浅谈Block实现原理及内存特性之三: copy过程分析

浅谈block实现原理及内存特性系列文章之三: copy过程分析

2018-04-02 10:12:53 2101

原创 浅谈Block实现原理及内存特性之二: 持有变量

浅谈block实现原理及内存特性系列文章之二: 持有变量

2018-04-02 10:10:52 1568

原创 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 &lt...

2018-03-19 10:52:36 7734 1

原创 高效 OC开发之内存管理

引用计数,ARC的工作原理,dealloc和循环引用的问题,以及其它关于内存管理的部分特性。

2018-02-28 17:18:43 1253

原创 高效 OC开发之协议与分类

关于协议,分类,以及扩展的高效使用。

2018-02-08 17:11:39 601

原创 nullable、nonnull、__nullable、__nonnull、_Nullable、__Nonnull 的区别

在苹果自己的API中, 我们也见过许多的参数的修饰符, 比如说在方法中修饰参数可否为空的标识。今天来总结下 nullable, nonnull, __nullable, __nonnull, _Nullable, __Nonnull 之间的区别。作用首先, nonnull, __nonnull, __Nonnull 这三个修饰的参数是不可以为nil的。如果参数被它们修饰, 且传入的实参...

2018-02-01 19:02:43 1990

原创 可变参数、不定参数(va_list、va_start、va_arg、va_end)

如何实现方法中传入参数为可变参数或不定参数, 方法中的某个形式参数可以接收多个参数(不确定个数的参数)。

2018-01-19 16:12:13 787

原创 问题: Mac外联硬盘不能更改“-”中的一个或多个项目,因为它们正在使用中

问题在Mac中, 外联移动硬盘或 U盘是 Windows 系统下的 NTFS 分区格式,而 Mac 系统原生是不支持这种格式的。而且很多时候还会产生一些其他的问题, 比如下面这个:这是第二个文件是灰色的, 当对它进行操作时, 会有一些错误, 会如下提示:不能更改“somefile”中的一个或多个项目,因为它们正在使用中。解决方案打开Terminal,在命令行输入xa

2018-01-12 14:29:52 21981 10

原创 错误: 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 12844 6

原创 Swift 之访问权限

控制访问级别Swift 为代码的实体提供个五个不同的访问级别, 分别是open、public、internal、fileprivate、private。

2018-01-02 15:15:27 2660

原创 Swift关键字总结下篇

Swift 中有多少关键字?在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。本文中涉及的代码可以在这里下载代码资源。 另外, 在特性中还有一些关键字, 是以@开头的关键字。这些所有的关键字将在 Swift 之关键字总结上篇 和 Swift 之关键字总结下篇 两篇文章中详

2017-12-29 10:35:01 4150 1

原创 Swift关键字总结上篇

Swift 中有多少关键字?在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。 本文中涉及的代码可以在这里下载代码资源。 另外, 在特性中还有一些关键字, 是以@开头的关键字。这些所有的关键字将在 Swift 之关键字总结上篇 和 Swift 之关键字总结下篇 两篇文章

2017-12-24 20:41:13 4047

原创 问题: 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 4015

原创 高效 OC开发之接口与API设计

Objective-C的命名规则及命名空间,私有方法的处理。另外,还有readOnly,NSError,NSCopying协议的高效使用。

2017-11-05 13:02:38 1208

原创 问题: NSIndexpath属性item和row的根本区别

问题NSIndexpath属性item和row的根本区别是什么?

2017-10-31 18:03:48 7825

原创 +load和+initialize方法的探究

前言在OC中, 根类NSObject或其子类被加载和初始化的时候,会触发一些方法,可以在适当的情况下做一些定制处理。其实, 这正是对应着load和initialize方法。

2017-08-23 16:02:49 723 1

原创 错误: HTTPS请求报错Error Code=-999 "cancelled"

Error Domain=NSURLErrorDomain Code=-999 “cancelled” UserInfo…….

2017-07-31 15:32:49 41504

原创 探究UIScrollView及其子类布局和适配的影响因素

前言很久之前写过两篇文章, 都是关于适配布局的, 分别是iOS6与iOS7屏幕适配 edgesForExtendedLayout和影响屏幕适配的因素及tableview的ContentSize不正确的问题。当然也欢迎大家先看下这两篇文章预热一下, 因为这篇文章其实是对上面这两篇的不足补充和勘正。今天重新总结一下关于UIScrollView及其子类的布局的问题及影响因素, 只是本文是以Tab

2017-07-23 00:18:43 1721

原创 错误: 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 3063

原创 浅谈DNS劫持及安全应对措施

由于博主公司是从事金融行业的, 所以在安全方面还是很重视的。而且现在iOS基本全部的应用都改用HTTPS协议了, 那还有必要针对DNS劫持做出安全措施吗? 今天咱们来谈一谈。

2017-06-24 13:59:06 2876

原创 方法: 跳转App Store更新你应用的URL究竟该怎么写

跳转App Store更新你应用的URL究竟该怎么写?

2017-06-22 18:30:34 5346

原创 方法:自定义Xcode模板样式

从代码规范的角度来讲, 每个类中都需要有响应的代码分类, 但每个代码模块都需要#pragma mark - 来分割代码, 未必也太过麻烦。

2017-06-22 17:46:30 958

ARC到底帮我们做了哪些工作?(v1.3)

博客Demo源码, 探究ARC到底为我们做了哪些工作。 博客地址:http://blog.csdn.net/wangyanchang21/article/details/79461511

2019-03-20

runtime之 property和 ivar

runtime之 property 和 ivar,property list, ivar list等以及其他runtime方法。

2019-03-20

init和 dealloc中 self.xx的使用注意

init 和 dealloc 中不要使用 self.xx, 要使用 _xx。 否则可能遇到意想不到的问题。

2019-03-20

可变参数、不定参数和nullable、nonnull

可变参数、不定参数Demo源码,nullable、nonnull、_Nullable 等区别Demo源码。 博客地址: https://dcsnail.blog.csdn.net/article/details/79107962 https://dcsnail.blog.csdn.net/article/details/79230770

2019-03-20

Block实现原理与内存特性(v1.1)

Block实现原理与内存特性 博客原文: https://blog.csdn.net/wangyanchang21/article/details/79525394。

2019-03-20

block官方源码

苹果官方的block源码,libclosure-38文件。包含Block,Block_private,BlockImplementation等文件

2018-03-17

runtime源码

Apple官方开源的runtime源码, objc4下各个版本的源码。

2018-02-23

UIScrollView/UITableView布局的影响因素总结

UIScrollView/UITableView布局的影响因素总结, 给你的TableView一个最合适的布局

2018-01-30

Swift 关键字总结

Swift 语言中列举了不常用的关键字以及用法, 对应于博客的地址:http://blog.csdn.net/wangyanchang21/article/details/78887137#t10

2018-01-08

PackageApplication For Xcode

PackageApplication 文件

2017-05-19

lame库(支持64位)

音频转化为mp3格式的lame库, 本库支持arm64架构

2016-11-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除