排序:
默认
按更新时间
按访问量

Swfit中 可选型,可选链,解包,隐式解包,可选绑定,操作符 as,as?,as!,?,!,??,Any 等概念解析

Swift是一门类型安全的语言。出于安全考虑,默认变量不为空。但编码中有一些方面必须考虑为空的情况,比如类型转换,只要可能为空,就可能带来大量的潜在崩溃风险。Swift的解决方式是声明可选型变量,以将不确定因素控制在可选型范围内。可选型在OC中没有类似概念,Swfit作为一门安全的编程语言,有可选...

2018-06-01 14:19:07

阅读数:68

评论数:0

Swift中Selector概念及与OC中@selector比较

首先,@selector方法选择器是OC中很常用的一个关键字,无论是计时器相应方法,通知效应方法,按钮相应方法,自省判断是否能相应某个方法,都会用到@selector,OC中常用生成@selector的格式如下:- (void)func1{ } - (void)func1With:(id )ob...

2018-05-30 18:20:16

阅读数:523

评论数:0

iOS中关于计时器未置空 导致内存泄漏及野指针崩溃的问题研究

我们都知道,在VC中创建计时器,并加入到runLoop中。这时候在页面消失的时候,需要人工invalid计时器,否则会造成内存泄漏。可是在实践中发现,某些情况下,计时器并不会导致内存泄漏。有点懵,经过自己测试发现如下规律。计时器分为两种初始化方法,timerWithTimeInterval:1.0...

2018-05-28 23:48:11

阅读数:84

评论数:0

OC,Swift 获取引用计数器ReatinCount

最近调试Swift时需要用到引用计数器,找了半天,在此记录//swift中方法 let count = CFGetRetainCount(self)//swift获取方法 //OC方法如下 //第一种方式,KVC [obj valueForKey:@"retainCou...

2018-05-28 20:45:02

阅读数:162

评论数:0

Swift OC混编种需要注意的配置情况

此类教程网上很多,找了一个详细一些的,在此备注,防丢失。https://www.jianshu.com/p/754396e7e1bd

2018-05-28 17:47:47

阅读数:223

评论数:0

swift多线程GCD常用需求总结及工具代码

先把常用的Demo放前面,方便查找,各种理论放后面。1.延迟执行 let delay = DispatchTime.now() + .seconds(10)//计算需要开始的时间 print("添加了一个10秒后执行的任务") ...

2018-05-28 16:40:11

阅读数:130

评论数:0

swift之构造器

由OC转Swift时,差异比较大的就是构造器的概念。尤其是类中的指定构造器,快捷构造器,有点麻烦,下面这个博客说的挺好,mark防丢失点我点我

2018-05-25 15:27:02

阅读数:23

评论数:0

swift中let究竟能否保证变量不被修改

先说结论,定长的值类型,可以保证;其他的(引用及非定长的值类型),不能保证Swift中,常用let表示静态变量,不可变得;var表示动态变量,可变的。可事实往往并没有这么简单,还要从变量内存存储方式说起。对于定长的值类型(字符串,集合类型都是变长的),如struct point,都是保存在栈中的,...

2018-05-25 11:49:37

阅读数:111

评论数:0

Code signing is required for product type 'Application' in SDK 'iOS 11.3'

最近打包工程遇到这个报错,有点懵,经百度,这哥们说的很对,在此记录。https://blog.csdn.net/Fantasy_Jun/article/details/78082359

2018-05-24 23:15:28

阅读数:5398

评论数:0

swift面向协议编程

目前swift已经进化到4.0,苹果也承诺3.0是最后一个破坏性升级的版本,也就是语法之类的基本稳定了,长远来看,swift肯定是未来发展的主流方向。相比较之前OC中面向对象变成,swift中提倡的是面向协议编程。swift中很多语法规则也体现了苹果的这一倾向。有点玄乎,说人话。设计模式,面向**...

2018-05-24 19:41:20

阅读数:51

评论数:0

Category实现类似成员变量效果

Category是不能添加成员变量方法的。官方没有给出明确的原因,主流的猜测可能是因为实现Category的大部分都是框架中原生的类,比如NSString,NSData之类的。如果添加了成员变量,内存必然会增大一些。但对于已编译的那么多的框架,静态库,就没法处理新的内存大小了,申请内存之类的就没法...

2018-05-14 14:57:36

阅读数:23

评论数:0

进程与线程

这俩都是编程基础,特此整理,以供以后查看原文地址点这里 首先说一下线程和进程的概念:进程是处于运行过程中的程序,是系统资源分配和调度的一个独立单位,简单的理解就是用来帮程序占据一定的存储空间的。进程拥有自己独立的位置空间,在没有经过进程本身允许的情况下,其他进程不能访...

2018-05-13 15:03:59

阅读数:14

评论数:0

KVC底层实现原理

KVC,兼职编码,是OC中很常用的一种赋值/取值方法,原理也是基于Runtime运行时,动态的赋值/取值。简单来说,具体实现如下:a. setValue:forKey的搜索方式:1. 首先搜索set<Key>:方法如果成员用@property,@synt...

2018-05-12 19:14:21

阅读数:85

评论数:0

UIView的DrawRect方法详解

UIView的DrawRect方法,简单说:用来干啥的:就是用来绘图的。如果需要在View中绘制新的一些图形,比如曲线,直线,椭圆等,都需要重写DrawRect方法才可以;什么时候调用:当View显示的时候调用(ViewWillAppear和ViewDidAppear之间)。如果View是隐藏的,...

2018-05-12 19:01:33

阅读数:177

评论数:0

UIView,CALayer,UIWindow 的关系和区别

这是一个很常见的问题很多博客也做了解读,我也查看了一些博客,总结如下:由于继承自不同的基类,UIView和CALayer有不同的侧重点,UIView侧重于事件传递及处理,CALayer侧重于显示渲染,两者一对一对应。UIWindow继承与UIView,是一种最特殊的View,一般一个App只有一个...

2018-05-12 16:52:20

阅读数:24

评论数:0

调试正常,打包后NSData解析出错的BUG

此BUG特别蹊跷。先介绍一下背景。需求是用http地址,去服务端取到一张图片的文件流,使用秘钥进行异或运算之后,本地展示,即可。BUG表现是,调试状态正常请求-获取NSData-解析成UIImage-展示,很正常。可是打包之后,无论是测试包还是正式包,都不能正常显示图片。由于打包后无法调试,因此排...

2018-05-08 00:57:45

阅读数:19

评论数:0

iOS低版本系统启动闪退

最近工作过程中遇到一个问题,调试时9.x系统直接闪退,11.x则不会出现问题,报错如下:dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserN  Reason: image not...

2018-05-08 00:53:13

阅读数:211

评论数:0

iOS常用性能监测工具

    在进行iOS开发时,如果程序界面稍显卡顿,就需要具体定性分析一下原因,实时监测一下系统软硬件的各项参数。从原理上讲,想严格准确的监测FPS等性能参数,需要费很多的时间精力研究底层,才能保证最终检测数据准确无误,本人没那个能力,有兴趣的可以去csdn之类的大神的帖子去详细研究。本片只提供简单...

2018-04-28 23:13:04

阅读数:827

评论数:0

UIView生命周期

    UIView和UIViewController一样,也有自己的生命周期。UIView生命周期包含的常见方法UIView包含的常见方法如下:- (void)didAddSubview:(UIView *)subview; - (void)willRemoveSubview:(UIView *...

2018-04-28 16:08:09

阅读数:1236

评论数:0

iOS事件传递及处理

https://www.jianshu.com/p/2e074db792ba 以上是最详细的博客,讲的很细致,不再赘述。一下为精华补充部分 UIView继承与UIResponder,UIResponder提供四个处理方法(PS:不使用父类处理,【super之类的,会拦截事件) - (void...

2018-04-18 23:47:00

阅读数:27

评论数:0

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