iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用 介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。
iOS多线程编程之NSOperation和NSOperationQueue的使用 前一篇 《iOS多线程编程之NSThread的使用》介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用。使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOper
iOS多线程编程之NSThread的使用 1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三
升级Xcode之后VVDocumenter-Xcode不能用的解决办法 VVDocumenter-Xcode是Xcode上一款快速添加标准注释,并可以自动生成文档的插件。有了VVDocumenter-Xcode,规范化的注释,只需要输入三个斜线“///”就可以搞定,非常方面实用,目前已经支持Swift。
在storyboard中的静态UITableView中拖入 UISearchBar and Search Display Controller出现的奇怪问题 最近学习过程中想模拟一下新浪微博“发现”界面。 我在storyboard中拖入一个UITableViewController,设置这个UITableViewController的TableView为Static Cells,然后添加了两个Section,每个Section两行Cell。 接下来往这个TableView中拖入了一个UISearchBar and Search
UINavigationController UINavigationController导航控制器Navigation Controller Views导航控制器的视图Updating the Navigation Bar更新导航条Displaying a Navigation Toolbar显示导航工具条State Preservation状态保存
Search Bars(一) A search bar provides an interface for text-based searches with a text box and buttons such as search and cancel. A search bar accepts text from users, which can be used as input for a search (shown
Notification Centers 通知中心 Notification Centers通知中心A notification center manages the sending and receiving of notifications. It notifies all observers of notifications meeting specific criteria. The notification infor
iOS中block介绍(四)揭开神秘面纱(下) 终于有空开始这系列最后一篇的编写。这一篇,我们将看到block的内存管理的内部实现,通过剖析runtime库源码,我们可以更深刻的理解block的内存运作体系。AD:WOT2015 互联网运维与开发者大会 热销抢票看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开):http://llvm.org/svn/llvm-project/co
iOS中block介绍(三)揭开神秘面纱(上) 上一篇我们总结了各个情况下,block及其引用到的内存位置情况。接下来几篇,我们将剖析编译器转码以及运行时库源码来一探block的究竟。block到底是什么我们使用clang的rewrite-objc命令来获取转码后的代码。1、block的底层实现我们来看看最简单的一个block:这个block仅仅打印栈变量i和j
iOS中Block介绍(二)内存管理与其他特性 我们在前一章介绍了block的用法,而正确使用block必须要求正确理解block的内存管理问题。这一章,我们只陈述结果而不追寻原因,我们将在下一章深入其原因。AD:WOT2015 互联网运维与开发者大会 热销抢票一、block放在哪里我们针对不同情况来讨论block的存放位置:1.栈和堆以下情况中的block位于堆中:
iOS中Block介绍(一)基础 ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发。讨论范围:block的使用,内存管理,内部实现。不包含的内容:gc arc下的block内存,block在c++中的使用。AD:WOT2015 互联网运维与开发者大会 热销抢票 一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是
进程与线程 主线程里面执行耗时操作会导致界面阻塞,所以一般把耗时操作放到子线程执行,例如网络请求、线程睡眠、加载文件、大量运算。1、不要把耗时操作放到主线程。2、不要把修改页面的代码放到子线程(子线程修改页面不会等到及时更新)第一种开启子线程的方法NSThread //开启一个子线程 [NSThread detachNewThreadSelector:@sele
地图框架 使用苹果自带的地图框架,需要在项目中加载MapKit.framework(项目—TARGETS--Build Phases--Link Binary With Libraries),并在头文件中导入#import一、MKMapView的常用属性和方法NSArray *annotations;//保存地图中的大头针MKCoordinateRegionregion; /
strong与weak 如果把一个属性声明为weak编译器做了一件事,只是给成员变量赋值,而没有对引用计数进行处理set方法:-(void)setName:(NSString *)name{ if (_name != name) { _name = name; }}如果把一个属性声明为strong实际上编译器做了两件事,1、处理了
归档和解归档 归档和解归档除了用于NSString、NSNumber、NSArray、NSDictionary等对象和NSData之间的转换(见NSData和NSMutableData),还可以用来保存别的对象,如保存界面上的view对象。对象归档必须做两件事情:1.对象必须遵守NSCoding协议2.在对象中实现该协议的两个方法// 属性编码- (void)encodeWithCode
NSData和NSMutableData NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛。NSData创建后不可以再修改,NSMutableData可以再次修改。1、NSString和NSData之间的转换 NSString *string = @“哎我去上市了!"; //1、字符串转换成NSData NSData *da
iOS沙盒(sandbox)机制及获取沙盒路径 一、什么是sandbox 每个iOS应用都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒主要有以下限制。 1、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙 2、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。 3、苹果禁止任何读、写