- 博客(17)
- 收藏
- 关注
原创 Swift中使用DispatchGroup分组管理异步任务
一、DispatchGroup三种用法:1.notify(依赖任务) let group = DispatchGroup() myQueue?.async(group: group, qos: .default, flags: [], execute: { for _ in 0...10 { print("耗时任...
2018-03-18 16:06:07
7025
1
原创 Xcode 9中的safe Area Layout
刚升级了Xcode 9,本来想敲个代码飞一下,可是出现了传说中iOS 11的safe Area Layout的报错:然后度娘了一下,发现暂时处理的办法也挺简单的就是在storeboard里勾掉响应选项:然后就OK了。
2017-09-27 22:26:53
682
原创 NSRunLoop探究
经常听runloop的黑魔法,但是项目里不怎么用,但是该了解一下还是需要的。从main.m说起正常的main函数如下:int main(int argc,char* argv[]) {@autoreleasepool{return UIApplicationMain(argc, argv,nil,NSStringFromClass([AppDelegate class]));
2017-09-27 18:11:56
324
原创 NSTimer
NSTimer**创建NSTimer** 创建NSTimer的常用方法是:+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats创建NSTimer的不常用方法
2017-09-27 15:48:34
552
转载 iOS开发中的图形编程
看到的一篇图形开发的博客,搬了过来记录一下,慢慢学习转载原博地址链接iOS实现图形编程可以使用三种API(UIKIT、Core Graphics、OpenGL ES及GLKit)。这些api包含的绘制操作都在一个图形环境中进行绘制。一个图形环境包含绘制参数和所有的绘制需要的设备特定信息,包括屏幕图形环境、offscreen 位图环境和PDF图形环境,用来在屏幕表面、一个位图或一个pdf文件中进行图
2017-09-13 15:54:20
441
原创 简单的位运算
一、先从常用的交换两个变量的值说起。一般情况下,交换变量值都是如下的方法:int sum = a;a = b;b = sum;有时会用这样的方法:a = a + b;b = a - b;a = a - b;通过位运算算法,则可以不用添加任何其他变量节省内存开销,并且不用进行加减运算:a ^=
2017-08-29 22:15:30
924
原创 hello world在操作系统底层的执行过程
hello world在操作系统底层的执行过程对于一个普通的hello.c程序:#include <stdio.h>int main () { printf("hello,world");}在计算机操作系统层面的执行过程是这样的。hello程序的生命周期是从人能读懂的高级语言C程序开始,然后C语句被其他程序转化为一系列的低级机器语言指令,这些指令再按照可执行目标程序的格式打包好,并以二进制
2017-03-27 23:18:12
2776
原创 svn 上传默认忽略.a文件问题
遇到的问题:开发过程中,会使用代码托管工具,本次使用的svn。最近当上传svn之后,搭档再checkout下来的时候发现缺少工程必要.a文件,手动添加了之后就继续写代码了。就在当天工作完成后commit完成,再update的时候发现.a文件又缺少了。这是个问题,所有度娘了一下发现,代码托管工具有默认忽略上传的配置文件,.a文件就在其中,于是需要修改svn的配置文件:1、右键Finder,选择 前往文
2017-03-02 10:01:32
3027
原创 iOS开发中的https(二):https服务器的简单用例
基于对HTTPS运行机制的理解,我们知道,在iOS客户端实现与服务器的HTTPS通信,前提条件是你服务器是一个提供了HTTPS的服务器。如果前提得以满足,那么iOS客户端就需要向服务器发出请求索要公钥,而后验证公钥,然后进行握手,左后开始加密通信。这些基础性工作,苹果官方已经做好了,AFN也已经做好了,本文主要说明基于AFN的通信。HTTPS的服务器配置的证书分两大类,一类是经过权威机构签名颁发的证
2017-02-14 18:25:50
469
转载 iOS开发中的https(一):基本概念
苹果公司在2016的开发者大会上宣布:到2017年,所有的iOS应用都必须使用HTTPS与服务器进行通信。iOS开发者应该都不会对这个决定感到惊讶,因为自iOS9就已经引入了ATS(应用传输安全App Transport Security)特性,该特性对应用的安全传输做出了以下要求:The protocol Transport Security Layer (TLS) must be at lea
2017-02-14 18:16:59
729
原创 iOS开发CAGradientLayer底部渐变色
渐变色主要使用类:CAGradientLayer; 直接上代码:UIColor *color = [UIColor colorWithWhite:2.0 alpha:0.1]; CAGradientLayer *gradientLayer = [CAGradientLayer layer]; gradientLayer.frame = self.tableView.
2017-02-08 18:53:29
621
原创 iOS开发弹出半透明视图
一、项目问题项目中经常会遇到需要弹出一个半透明视图的情况,先前自己想着用UIWindow做,后来发现因为界面控制器复杂不好管理,于是放弃,度娘了一下,发现直接用modal的方法就可实现,简单又明了。先上效果图: 关键代码如下:AddTimerController *addVC = [[AddTimerController alloc] init]; addVC.addModel = sel
2017-02-03 18:48:50
3373
原创 iOS中UITableView的编辑状态多选
开发工作中经常遇到列表编辑多选功能,UITableView其实自带的有多选功能,使用起来方便,不需要自己做选中状态,效果:获取多选cell的位置信息:```在 didSelectRowAtIndexPath:方法里获取并打印选中cell的位置信息:```- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSInd
2017-01-25 18:21:01
845
原创 淡腾的Xcode 8注释快捷键注释失效
麻蛋,正写着代码,不知道碰到哪里,cmd + / 的注释快捷键失效了,握了个大草。 度娘了一下,有骚年说升级Xcode 8就有会出现这种情况的(我升级好长时间了也才碰到这种情况,不知道为啥)失效原因:这个是因为苹果解决xcode ghost。把插件屏蔽了。(有人说的)解决办法: sudo /usr/libexec/xpccachectl终端输入命令行,然后必须重启一下电脑。试了一下,的确
2017-01-25 18:12:42
259
原创 iOS开发中的库
一、库的概念:库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改
2017-01-25 18:10:59
281
原创 iOS的非离屏渲染圆角
实际开发中,大多会遇到圆角或者圆形的控件的情况。通常,简便的解决方案主要是:1.让美工做一个圆角的图片,我们直接放图片就OK。2.就是常用的layer的那两个属性(cornerRadius , masksToBounds)。 第一种方法不说了,第二种方法,在圆角不多的时候还可以,如果一个界面上的圆角控件很多的时候,再用它就出问题了,。就像下面这种情况的时候,滑动tableV
2017-01-25 18:06:11
353
原创 Segue NSTimer 和 Delayed perform
segue 、 NSTimer 和 Delayed perform 的自我学习UIStoryboardSegue :NSObject+ (instancetype)segueWithIdentifier:(nullableNSString *)identifier source:(UIViewController*)source destinatio
2015-12-11 22:32:37
267
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人