自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

遇见更好的自己

从不相信人生可以不劳而获,也许活的用力,却真心诚意绝不敷衍。

  • 博客(118)
  • 资源 (14)
  • 收藏
  • 关注

转载 函数式编程

作为iOS开发者,常用Masnory/SnapKitMasonry是常用的自动布局的第三方框架 Snapkit是Masonry团队打造的swift版本的自动布局框架一个典型的Masonry的语句make.centerY.equalTo(self).offset(100);就是这个”.”让Masonry更加鲜活的展示给了开发者。这就是链式编程。链式编程概要如果想...

2018-05-29 09:37:09 252

原创 面向切面编程

切面可以简单地理解为嵌入不同函数中的功能相同的操作(打印调试信息等),每类功能相同的操作可以抽取出一个切面。 OOP:面向对象编程,针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。 AOP:面向切面编程,针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。 AOP是处理某个步骤和阶段的,从...

2018-05-28 17:43:19 431

原创 swift基础语法练习

import UIKitvar str = "Hello, playground"var num = 5num += 5class person {    var name = "zhangshanshan"    var address = "上海市浦东新区"    var age = 5    func updateInfo(age : Int

2018-05-28 15:47:30 836 1

原创 UIViewController生命周期

UIWindow如果相当于画框的话,UIViewController相当于是一个画布。1.创建一个类继承于UIViewController2.loadView方法当访问UIViewController的view属性时,view如果此时是nil,那么VC会自动调用loadView方法来初始化一个UIView并赋值给view属性。此方法用在初始化关键view,需要注意的是,在view初始化之前,不能先调

2018-02-06 17:17:36 2035

转载 重写、覆盖、重载、多态

override->重写(=覆盖)、overload->重载、polymorphism -> 多态【重写】override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则: 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2、重写方法的访问修饰符一定要大于被重写方法的

2018-02-06 16:49:20 215

转载 常见的语言编码

常见的语言编码有:GB2312:简体中文编码,一个汉字占用2字节,在大陆是主要编码方式。BIG5:繁体中文编码。主要在台湾地区采用。GBK:支持简体及繁体中文,但对他国非拉丁字母语言还是有问题。UTF-8:Unicode编码的一种。Unicode用一些基本的保留字符制定了三套编码方式,它们分别UTF-8,UTF-16和UTF-32。在UTF-8中,字符是以8位序列来编码的,用一个或几个字节来表示一个

2018-02-06 14:54:57 4097

转载 iOS程序优化相关

1.tableview的优化优化:1.1 正确的复用cell。1.2 减少在返回每个cell里面的处理逻辑和处理时间。尽量将数据进行缓存和复用。1.3,尽量减少处理加载和计算的时间,不阻塞UI线程。1.4,尽量使用绘制每个cell。1.5,设置每个cell的opaque属性。1.6,尽量返回每行固定的height。1.7,在每个cell减少图形效果。1.8,分段加载数据。2.应用程序性能的调优1.用

2018-02-06 14:42:30 171

转载 面试题系列(七)--基础知识

1.事件响应(responder chain)只有继承了UIResponder的类才能响应touch事件,先是最上层的view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事件。直到单例UIWindow对象,最后是单例UIApplication对象以终止,UIApplication的下一个响应者是nil,已结束整个响应循环。事件在传递过程

2018-02-06 14:36:08 198

原创 渐变色

给视图添加渐变色,示例如下:rect.origin.y = CGRectGetMaxY(headView.frame); rect.size.height = 50; UIView *titleView = [[UIView alloc] initWithFrame:rect]; CAGradientLayer *gradient = [CAGradientLayer lay

2018-01-26 15:36:46 326

转载 UIColor,CGColor,CIColor三者的区别和联系

一、UIColor  UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化。UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明色等,这些颜色的色彩空间也不尽相同(白色和黑色是kCGColorSpaceDeviceGray,红色的色彩空间是kCGColorSpaceDeviceRGB)

2018-01-19 15:41:38 1703

原创 面试题系列(六)-基础知识

1.多线程、特别是NSOperation和 GCD的内部原理。2.运行时机制的原理和运用场景。3.SDWebImage的原理。实现机制。4.如何解决TableView卡的问题。tableView 滑动卡的问题主要是因为:从缓存中或者是从本地读取图片给UIImage的时候耗费的时间。需要把下面的两句话放到子线程里面: NSData *imgData = [NSData dataWithContents

2018-01-18 10:39:00 179

转载 SWift入口分析

1.swift为什么不需要main在c/c++及其它语言中都有一个main函数,程序从main作为起点,开始执行程序,如下:int main(int argc, const char * argv[]) {printf("Hello, World!\n");return 0;}main函数实际上是一个特殊的函数,为了能找到程序入口,大多楼语言都约定main()函数作为入口。那么

2018-01-17 15:56:59 1524

转载 fallthrough的用法注意总结

在swift的switch中,case后面加了fallthrough的用法,就和OC的case后面没加break的用法是一样的!使用fallthrough需要注意的有:1.加了fallthrough后,会直接运行【紧跟的后一个】case或default语句,不论条件是否满足都会执行var age = 10switch age {case 0...10: print("小朋友")

2018-01-17 15:42:43 21230 1

转载 SWift基本语法(二)

一 可选类型知识点补充例一 :强转并且制定类型let str01 = "23" //打印结果: "23"let age : Int? = Int(str01) //打印结果 :23问题 : 该例子转化的结果为什么需要用可选类型来接收?解答 : 因为很有可能是转化不成功的,如果此时不用可选类型来接收的话,万一转化失败,那么该值就为空(nil),如果不选择可选类型来接收,程序会崩溃.例二 : 获取

2018-01-17 15:33:22 295

原创 swift基本语法(一)

import UIKitvar str = "Hello, playground"var num = 5num += 5class person {var name = "zhangshanshan"var address = "上海市浦东新区"var age = 5 func updateInfo(age : Int , address : String) {

2018-01-16 17:59:45 484

转载 面试题系列(五)-网络协议

1.UDP/TCP的区别UDP 是用户数据报协议: 主要用在实时性要求高以及对质量相对较弱的地方,但面对现在高质量的线路不是容易丢包除非是一些拥塞条件下, 如流媒体 TCP 是传输控制协议:是面连接的,那么运行环境必然要求其可靠性不可丢包有良好的拥塞控制机制如http ftp telnet 等 2.什么是三次握手与四次挥手?三次握手 第一次握手:建立连接时,客户端发送同步

2018-01-16 09:58:54 1402

转载 面试题系列(四)-数据解析

1.JSONKit、SBJson、TouchJSON和原生的区别?JSONKit、SBJson、TouchJSON 性能从左到右,越右越差,主要就是性能上的差别2.分析json、xml的区别可读性方面:基本相同,xml的可读性比较好可扩展性方面:都具有很好的扩展性编码难度方面:相对而言:JSON的编码比较容易解码难度:json的解码难度基本为零,xml需要考虑子节点和

2018-01-16 09:43:16 241

转载 面试题系列(三)-socket

1.socket编程简述它是基于TCP/IP协议,Socket就是一个可以连通网络上不同计算机程序之间的管道,把一堆数据从管道的A端扔进去,则会从管道的B端(也许同时还可以从C、D、E、F……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方

2018-01-16 09:35:30 2016

转载 面试题系列(二)-http请求

1.http请求方式?HTTP的请求方式有3种,分别是:POST、GET、HEAD。 POST和GET方法是用于数据发送的。POST 将要发送的数据单独放在一个流中进行发送,而不是附加在URL地址后面,这样做的好处是这些数据不会出现在URL地址中。GET 将要发送的数据直接添加在URL后面,如:www.sina.com.cn?username=”“&password=”“,这样的

2018-01-16 09:28:11 522

原创 单例

创建单例的两种方式只要使用其中一种 + (id)defaultManager { // 1. 第一种方式 //静态变量只会初始化一次 static Manager *sharedInstance = nil; //每次调用defaultManager的时候都返回同一个对象 if (sharedInstance == nil) {

2018-01-11 11:56:22 143

转载 @property参数详情

@property 格式:@property(参数1, 参数2)类型 名字;参数可有可无,比如: @property int age; @property (nonatomic,retain) UIButton *btn;参数主要分为3类 读写属性:readwrite/readonly setter处理:assign/retain/copy 原子性:atomic/nonatomic@p

2018-01-11 11:50:30 361

原创 webView设置请求头

_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, Width, Height-64)];self.automaticallyAdjustsScrollViewInsets = NO;_webView.scrollView.showsVerticalScrollIndicator = NO;_webView.delega

2018-01-09 10:54:19 4593

原创 webView拦截H5按钮事件

需要遵守协议UIWebViewDelegate- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{NSString *requestString = [[[r

2018-01-08 17:42:44 2402

原创 tableview视图层级关系

前提:我在tableview的cell上面加了一个button 1. btn.superview = cell.contentViwe; 2. btn.superview.superview = cell; 3. btn.superview.superview.superview = UITableviewWrapperView; 4. btn.superview.superview.sup

2018-01-08 17:29:13 924

原创 UITableView删除按钮iOS10适配

在开发中,经常会遇到修改tableView的删除按钮的情况;默认情况下,当系统语言是中文时,删除按钮显示【删除】,英文时,显示为【del】iOS9及之前删除按钮是cell的子视图,所以我们只需要在定制cell的时候,重写layout方法,遍历所有子视图找到删除按钮修改即可,如下:- (void)layoutSubviews {[super layoutSubviews];for (UIView

2018-01-08 16:41:18 580

原创 git commit

如果commit了一个不需要commit的文件,可以对其进行撤销。 先使用git log 查看 commit日志commit 4f07d7a7cc97e2175bbdb1c20dd4ea7cc6def5feAuthor: zhangnan <[email protected]>Date: Mon Nov 6 18:11:42 2017 +0800同步老版本收银台iPhoneX的界面适配com

2017-11-07 09:37:42 606

转载 iOS图片加载框架-SDWebImage

在iOS的图片加载框架中,SDWebImage可谓是占据大半壁江山。 支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件。在项目中使用SDWebImage来管理图片加载相关操作可以极大地提高开发效率,让我们更加专注于业务逻辑实现。SDWebImage 概论1.提供了一个UIImageView的category用来加载网络图片并且对网络图片的缓存进行管理

2017-10-24 13:59:11 619

转载 指纹识别

简单介绍指纹识别功能是 iphone 5S之后推出的.SDK是 iOS 8.0 推出推出指纹识别功能的目的,是为了简化移动支付环节,占领移动支付市场.使用步骤导入框架 #import <LocalAuthentication/LocalAuthentication.h>获得当前系统版本号 float version = [UIDevice currentDevice].systemVersio

2017-10-23 16:21:33 321

转载 钥匙串访问

基本介绍苹果在 iOS 7.0.3版本以后公布钥匙串访问的SDK.钥匙串访问接口是纯C语言的.钥匙串使用 AES 256加密算法,能够保证用户密码的安全.钥匙串访问的第三方框架SSKeychain,是对C语言框架的封装. 注意:不需要看源码.钥匙串访问的密码保存在哪里?只有苹果才知道.这样进一步保障了用户的密码安全.简单使用参数介绍 Password :需要存储的密码信息.

2017-10-23 16:19:13 983

转载 时间戳密码

基本介绍动态密码相同的密码明文+相同的加密算法–>因为每次登陆时间都不同,所以每次计算出的结果也都不相同.可以充分保证密码的安全性.服务器会计算两个时间值,当期时间和前一分钟的时间(比如:第59S发送的网络请求,一秒钟后服务器收到并作出响应,这时服务器当前时间比客户端发送时间晚一分钟,仍然能够判断准确的值)使用步骤获取MD5 首次加密的密码 // 1. 当前密码 NSString *passw

2017-10-23 16:16:29 4078

转载 MD5加密--(信息-摘要算法) 哈希算法之一

一个任意长度的字节串变换成一定长度的十六进制的大整数.注意,字符串的转换过程是不可逆的,不能通过加密结果,反向推导出原始内容基本介绍需要导入第三方框架: NSString+HashMD5特点压缩性 : 任意长度的数据,算出的 MD5 值长度都是固定的.容易计算 : 从原数据计算出 MD5 值很容易.抗修改性 : 对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.弱抗碰撞 :

2017-10-23 16:05:41 2487

转载 Token值介绍

Token 值登录令牌.利用 token 值来判断用户的登录状态.类似于 MD5 加密之后的长字符串.用户登录成功之后,在后端(服务器端)会根据用户信息生成一个唯一的值.这个值就是 token 值.基本使用在服务器端(数据库)会保存这个 token 值,以后利用这个 token 值来检索对应的用户信息,并且判断用户的登录状态.用户登录成功之后,服务器会将生成的 token 值返回给 客户端,在客户端

2017-10-23 16:01:56 13348 2

转载 base64加密

base64 编码是现代密码学的基础基本原理原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示 用base64 编码之后,数据长度会变大,增加了大约 1/3 左右.(8-6)/6 可进行反向解密 Xcode7.0 之后出现的 编码有个非常显著的特点,末尾有个 = 号将文件进行加密// 获取需要

2017-10-23 15:35:42 497

转载 AFNetWorking3.0用法

AFN3.0中没有FHTTPRequestOperationManager、NSURLConnection,AFHTTPRequestOperationManager是基于NSURLConnection封装的!!现在都用的是NSURLSession了,AFN中用的是AFHTTPSessionManager了~~GET请求AFHTTPSessionManager *manager = [AFHTTPS

2017-10-23 15:12:33 299

原创 创建软连接

命令格式:ln -s / /home/good/linkname ln的链接分软链接和硬链接两种:1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。2、硬链接ln源文件目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文

2017-09-30 14:36:30 1168

原创 HTTP协议常用字段

URI&URLURI:统一资源标识符,不仅可以标识http,ftp等其他的网络资源 URL:统一资源定位符请求头GET :获取一个资源,同时参数直接跟在URL后面,url长度受限制2048字节 POST:不仅可以获取资源,还可以提交资源(譬如上传文件),参数放在请求体中,包大小4G HEAD:只要响应头,没有响应体,通常用于测试URL是否存在 DELETE:删除一个资源 PUT:通常修改一

2017-09-23 21:26:26 7953

转载 QQ实现原理

QQ实现基本原理

2017-09-22 15:22:07 4668

转载 NS_REFINED_FOR_SWIFT

重定义Objective-C接口如果您的项目中使用了 Objective-C 以及 Swift 两种语言混编,您可能会遇到这样一个尴尬的局面:Objective-C 的 API 和 Swift 的风格相差比较大,Swift调用Objective-C的API时可能由于数据类型等不一致导致无法达到预期(比如,Objective-C里的方法采用了C语言风格的多参数类型;或者Objective-C方法返回N

2017-09-22 15:12:36 1783

转载 iOS常见加密算法

一 、MD5加密MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。 MD5主要特点是 不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是绝对的,但基本是不能一样的)。 MD5算法还具有以下性质: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。

2017-09-11 11:59:00 469

原创 字典(NSDictionary)和JSON字符串(NSString)之间互转

字典转Json字符串-(NSString *)convertToJsonData:(NSDictionary *)dict{NSError *error;NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];NSString *j

2017-09-08 14:18:29 12417

图片压缩工具

可选择单个、多个图片,大大减小图片大小,在移动开发上,对于减小安装包大小有极大的效果

2017-12-04

iOS技术概览

iOS 技术概述是针对iOS平台新手的介绍指南。它简要介绍一些对开发过程有影响的技术和工具,并且提供相关文档和其他信息来源链接。通过阅 读本文档,您将可以: ▪ 熟悉iOS平台。 ▪ 了解iOS软件技术、知道为何使用这些技术以及何时使用。 ▪ 了解该平台的发展机遇。 ▪ 获得从其他平台转移到 iOS平台用到的技巧和指南。 ▪ 找到和您感兴趣的技术相关的关键文档。 本文档只提供和软件开发过程有关的信息,不提供和用户级别的系统功能有关的信息。 本文档非常适合开发新手用于熟悉iOS平台。有经验的开发人员可以将本文档作为路线图,根据它来钻研某些特定技术或开发技术。

2017-09-08

IOS触摸事件

触摸事件在IOS中是基于多点触摸模型。取代鼠标和键盘,用户通过触摸设备的屏幕来 操作对象,输入数据以及实现其它意愿。IOS识别的一个或多个手指对屏幕进行触摸并将其 作为多点触摸序列的一部分。该序列以用户第一个手指触摸屏幕开始一直持续到最后一个手 指离开屏幕。IOS通过触摸序列来跟踪手指在屏幕上的移动并记录它们的特征,包括手指在 屏幕上的位置以及触摸发生的时间。应用程序通常会识别一组触摸为一个手势并对其进行相 应的响应,例如:放大缩小屏幕内容用于响应pinch手势,对屏幕内容进行滚动用于响应flic k手势。

2017-09-08

iOS并发编程指南

iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性 不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取“异步 设计方式”来解决并发的问题。 引入的异步技术有两个:  Grand Central Dispatch(GCD):系统管理线程,你不需要编写线 程代码。只需定义想要执行的任务,然后添加到适当的 dispatch queue。GCD 会负责创建线程和调度你的任务。系统直接提供线 程管理,比应用实现更加高效。  Operation Queue:Objective-C 对象,类似于 dispatch queue。你 定义想要执行的任务,并添加任务到 operation queue,后者负责 调度和执行这些任务。和 GCD 一样,Operation Queue 也管理了 线程,更加高效。

2017-09-08

iOS 5 ARC完全指南

iOS 5 最显著的变化就是增加了 Automatic Reference Counting(自 动引用计数)。ARC 是新 LLVM 3.0 编译器的特性,完全消除了手动内 存管理的烦琐。在你的项目中使用 ARC 是非常简单的,所有的编程都 和以前一样,除了你不再调用 retain, release, autorelease。启用 ARC 之后,编译器会自动在适当的地方插入适当的 retain, release, autorelease 语句。你不再需要担心内存管理,因为编译器为你处理了 一切。注意 ARC 是编译器特性,而不是 iOS 运行时特性(除了 weak 指 针系统),它也不是其它语言中的垃圾收集器。因此 ARC 和手动内存 管理性能是一样的,有些时候还能更加快速,因为编译器还可以执行某 些优化。

2017-09-08

coredata知多少

Core Data拥有成熟的代码,这些代码通过单元测试来保证品质。应 Core Data的程序每天被世界上 百万 户使 。通过了 个版本的发布,已经被 度优化。 它能利 Model层的信息和运 时的特性, 不通过程序层的代码实 现。 除了提供强 的安全 持和错误处理外,它还提供了最优的内存扩展性, 可实现有竞争 的解决 案。不使 Core Data的话,你需要花很 时间来起 草 的 案,解决各种问题,这样做效率不 。 除了Core Data本 的优点之外,使 它还有其他的好处: 它很容易和Mac OS X系统的Tool chain集成;利 Model设计 具可以按图形化 式轻松创建 数据库的结构;你可以 Instruments的相关模板来测试Core Data的效率并 debug。 在Mac OS X的桌 程序中,Core Data还和Interface Builder集成 (打开Inspector可以看到有binding的选项,这个东东iPhone上 有。。。),按照model来创建UI变的更简单了。 这些功能能更进 步的帮助 你缩短设计、开发、测试程序的周期。

2017-09-08

Cocoa基本原理指南

对于刚刚加入这个阵营的开发者来说,Cocoa 像是一个巨大而未知的新世界。Cocoa 开发环境的各种特性、 工具、概念、术语、编程接口、甚至是编程语言对他们来说可能都比较生疏。Cocoa 基本原理指南提供了 领略 Cocoa 技术景致的方向,介绍 Cocoa 的特性、基本概念、专用术语、结构、以及潜在的设计模式, 使开发者更加容易上手。 Cocoa 基本原理指南的组织结构使读者可以逐步获取有关 Cocoa 开发的一般性知识。它从最基础的信息开 始—即 Cocoa 有什么组件和能力,以考察 Cocoa 的主要架构作为结束。每一章都建立在前一章内容的基 础上,每个部分都给出某个主题的重要细节,但又仅仅在较高的级别上进行描述。文中还提供很多指引, 方便读者了解其它更为详尽的文档。 在 Cocoa 的开发文档中,Cocoa 基本原理指南是介绍 Cocoa 概念的初级文档,是诸如 Cocoa 描画指南和 Cocoa 的视编程指南这类文档的先期读物。阅读 Cocoa 基本原理指南需要的前提条件很少,但读者必须是 熟练的 C 程序员,且应该熟悉 Mac OS X 的能力和技术。您可以通过阅读 Mac OS X 技术概览一书来获得 这些知识。

2017-09-08

Blocks 编程要点

Block 对象是 C 级别的语法和运行时特性。它们和标准 C 函数很类似,但是除了 可执行代码外,它们还可能包含了变量自动绑定(栈)或内存托管(堆)。所以一个 block 维护一个状态集(数据),它们可以在执行的时候用来影响程序行为。 你可以用 blocks 来编写函数表达式,这些表达式可以作为 API 使用,或可选的存 储,或被多个线程使用。Blocks 作为回调特别有用,因为 block 携带了进行回调所需 要的执行代码和执行过程中需要的数据。 你应该阅读该文档来掌握 block 对象是什么和如何在 C,C++或 Objective-C 上面使 用它们来让你的程序更高效和更易于维护。

2017-09-08

iOS人机界面指导手册

用户钟爱那些专门为移动设备设计的 iOS 程序。例如,用户非常希望程序能够与设备屏 幕相衬,并且能够响应那些用户熟识的手势。虽然用户可能不知道人机交互设计原则, 诸如“直接操控”“一致性”,但却能觉察的出遵守原则和违背原则的程序之间的差别。 当你开始设计 iOS 程序时,一定要意识到是什么让 iOS 设备如此独特,并且学会使用交 互设计原则,以便用户能爱上你的程序。

2017-09-08

多线程编程指南

线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术 如操作对象(Operation objects)和 Grand Central Dispatch(GCD),提供一个更 加现代化和高效率的基础设施来实现多核并发,但是 Mac OS X 和 iOS 也提供一套接 口来创建和管理线程。 本文档介绍了 Mac OS X 上面的可用线程包,并且演示如何使用它们。本文档还 描述了在你的应用中多线程代码同步的相关技术。

2017-09-08

Instruments 用户指南

详细介绍了Instruments的原理和使用方法,资源老了些,但是对于深层次理解还是很好

2017-08-25

软件设计师课程体系结构

专业的人士,专业的资料,你会收获很多的。

2011-04-20

空空如也

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

TA关注的人

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