- 博客(33)
- 资源 (2)
- 收藏
- 关注
转载 iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。
2015-08-02 22:04:24 628
转载 iOS多线程编程之NSOperation和NSOperationQueue的使用
前一篇 《iOS多线程编程之NSThread的使用》介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用。使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOper
2015-08-02 22:01:50 562
转载 iOS多线程编程之NSThread的使用
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三
2015-08-02 22:00:43 593
原创 升级Xcode之后VVDocumenter-Xcode不能用的解决办法
VVDocumenter-Xcode是Xcode上一款快速添加标准注释,并可以自动生成文档的插件。有了VVDocumenter-Xcode,规范化的注释,只需要输入三个斜线“///”就可以搞定,非常方面实用,目前已经支持Swift。
2015-06-18 11:51:07 3671
原创 在storyboard中的静态UITableView中拖入 UISearchBar and Search Display Controller出现的奇怪问题
最近学习过程中想模拟一下新浪微博“发现”界面。 我在storyboard中拖入一个UITableViewController,设置这个UITableViewController的TableView为Static Cells,然后添加了两个Section,每个Section两行Cell。 接下来往这个TableView中拖入了一个UISearchBar and Search
2015-06-10 16:27:21 2653
翻译 UINavigationController
UINavigationController导航控制器Navigation Controller Views导航控制器的视图Updating the Navigation Bar更新导航条Displaying a Navigation Toolbar显示导航工具条State Preservation状态保存
2015-06-08 21:40:24 1028
翻译 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
2015-06-08 16:40:25 1191 1
翻译 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
2015-06-02 21:59:41 1630
转载 iOS中block介绍(四)揭开神秘面纱(下)
终于有空开始这系列最后一篇的编写。这一篇,我们将看到block的内存管理的内部实现,通过剖析runtime库源码,我们可以更深刻的理解block的内存运作体系。AD:WOT2015 互联网运维与开发者大会 热销抢票看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开):http://llvm.org/svn/llvm-project/co
2015-04-16 10:16:28 737
转载 iOS中block介绍(三)揭开神秘面纱(上)
上一篇我们总结了各个情况下,block及其引用到的内存位置情况。接下来几篇,我们将剖析编译器转码以及运行时库源码来一探block的究竟。block到底是什么我们使用clang的rewrite-objc命令来获取转码后的代码。1、block的底层实现我们来看看最简单的一个block:这个block仅仅打印栈变量i和j
2015-04-16 10:15:03 657
转载 iOS中Block介绍(二)内存管理与其他特性
我们在前一章介绍了block的用法,而正确使用block必须要求正确理解block的内存管理问题。这一章,我们只陈述结果而不追寻原因,我们将在下一章深入其原因。AD:WOT2015 互联网运维与开发者大会 热销抢票一、block放在哪里我们针对不同情况来讨论block的存放位置:1.栈和堆以下情况中的block位于堆中:
2015-04-16 10:11:11 640
转载 iOS中Block介绍(一)基础
ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发。讨论范围:block的使用,内存管理,内部实现。不包含的内容:gc arc下的block内存,block在c++中的使用。AD:WOT2015 互联网运维与开发者大会 热销抢票 一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是
2015-04-16 10:09:03 638
原创 进程与线程
主线程里面执行耗时操作会导致界面阻塞,所以一般把耗时操作放到子线程执行,例如网络请求、线程睡眠、加载文件、大量运算。1、不要把耗时操作放到主线程。2、不要把修改页面的代码放到子线程(子线程修改页面不会等到及时更新)第一种开启子线程的方法NSThread //开启一个子线程 [NSThread detachNewThreadSelector:@sele
2015-04-13 12:00:55 844
原创 地图框架
使用苹果自带的地图框架,需要在项目中加载MapKit.framework(项目—TARGETS--Build Phases--Link Binary With Libraries),并在头文件中导入#import一、MKMapView的常用属性和方法NSArray *annotations;//保存地图中的大头针MKCoordinateRegionregion; /
2015-04-05 10:43:50 2317
原创 strong与weak
如果把一个属性声明为weak编译器做了一件事,只是给成员变量赋值,而没有对引用计数进行处理set方法:-(void)setName:(NSString *)name{ if (_name != name) { _name = name; }}如果把一个属性声明为strong实际上编译器做了两件事,1、处理了
2015-04-05 10:41:33 766
原创 归档和解归档
归档和解归档除了用于NSString、NSNumber、NSArray、NSDictionary等对象和NSData之间的转换(见NSData和NSMutableData),还可以用来保存别的对象,如保存界面上的view对象。对象归档必须做两件事情:1.对象必须遵守NSCoding协议2.在对象中实现该协议的两个方法// 属性编码- (void)encodeWithCode
2015-03-26 20:59:41 668
原创 NSData和NSMutableData
NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛。NSData创建后不可以再修改,NSMutableData可以再次修改。1、NSString和NSData之间的转换 NSString *string = @“哎我去上市了!"; //1、字符串转换成NSData NSData *da
2015-03-11 11:31:40 2477
原创 iOS沙盒(sandbox)机制及获取沙盒路径
一、什么是sandbox 每个iOS应用都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒主要有以下限制。 1、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙 2、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。 3、苹果禁止任何读、写
2015-03-10 15:47:48 1185
原创 oc中分类 扩展 协议的使用及区别
一、分类 1、适用范围 当你已经封装好了一个类(也可能是系统类、第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类,只需要给你原来的类增加一个分类。 将一个大型的类拆分成不同的分类,在不同分类中实现类别声明的方法,这样可以将一个类的实现写到多个.m文件中,方便管理和协同开发。 分类中的方法可以只声明,不
2015-03-04 16:06:47 6988
原创 iOS开发学习笔记 2-9 C语言部分 内存分配函数 函数指针 指针函数 void*
一、内存分配函数1、void * malloc(参数(需要分配的内存空间的大小));void * malloc(参数1(元素所占用空间大小) * 参数2(元素个数));不会进行清零操作2、void * calloc (参数1(元素个数), 参数2(每个元素所占用空间大小));会进行清零操作3、void * realloc(参数1(需要再次分配内存空间
2014-08-01 15:40:26 1567
原创 iOS开发学习笔记 2-8 C语言部分 联合 枚举 结构体
五、联合1、联合的用法、语法和结构与结构非常相似,但联合中所有成员分配的内存是同一块;(也就是只能保存一个成员信息,联合的空间以最大成员所占的空间为值);2、联合可以用一块内存对应多种数据类型;3、联合与结构的区别:结构可以保存多个成员信息;而联合只能保存一个成员信息且最后一个;4、声明一个联合体//声明联合的方式一union L
2014-08-01 15:35:45 809
原创 iOS开发学习笔记 2-7 C语言部分 字符串
一、基本概念1.概念:一组字符数组,以数组的首地址为开始,以ASC的'\0'为结束符。2.字符串与普通数组的区别:普通数组没有结束标识,而字符串是有的。3.字符串的定义方式:a.字面值 "Hello"printf("Hello");b.使用字符数组来定义字符串char str[10]={'H','e','l','l','o','\0'};c.使用字符指针
2014-08-01 15:16:34 775
原创 iOS开发学习笔记 2-6 C语言部分 函数及变量的作用域
一、函数的基本知识 函数就是一系列语句的组合,通常由返回值、形参、函数体组成; 函数的使用步骤分为三个步骤:声明、定义、调用。 1、函数定义 1-1、描述函数功能的代码称为函数定义,函数定义的通用形式: 类型 函数名(参数列表) { 申明语句 }
2014-05-21 16:20:49 913
原创 iOS开发学习笔记 2-5 C语言部分 数组
数组,相同数据类型的元素按一定顺序排列的集合。也就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字就是数组名,编号就是下标。组成数组的各个变量就是数组的元素。 1、申明数组 int a[10],定义了一个长度为10的数组,也就是说它有10个元素。 这10个元素存储在10个相邻、连续编号的内存区域中,可以
2014-05-21 10:47:17 825
原创 iOS开发学习笔记 2-4 C语言部分 指针
计算机有一系列连续编号或者编址的存储单元(通常所说的内存),这些存储单元可以单个进行操作,也可以以连续成组的方式进行操纵。指针是能够存放一个地址的一组存储单元,指针指的就是内存地址,通常是4个(32位机器)或者8个(64位机器)字节。 1.指针是引用数据类型,因为本身没有保存数据,只是保存了数据的地址,间接的找到内存中的数据。 1-1、&,取地址运算符,用
2014-04-25 10:56:02 1283
原创 iOS开发学习笔记 2-3 C语言部分 控制流
一、代码块使用{}括起来的代码,就可以称为一个代码块,代码块可以由一条件或多条语句组成,多条语句是一个整体;语句以;号结束,一条语句是一个整体。二、控制流1、条件分支语句1-1、if语句 if(表达式){ 代码段,表达式为真时执行。 }1-2、if else语句 if(
2014-04-21 10:22:09 1047
原创 iOS开发学习笔记 2-2 C语言部分 类型、运算符与表达式
一、变量与数据类型1、变量,程序会进行大量计算,用来在计算过程中临时保存数据、存储数据,称之为变量;2、变量的数据类型2-1、基本数据类型:字符型:char;整型:short、int、long;浮点型;float、double、long double其中,char、short、int、long、float、double是C语言的基本数据类型;2-
2014-04-16 22:38:07 1160
原创 iOS开发学习笔记 2-1 C语言部分 初识C语言
一、分析第一个C语言程序1、在屏幕上显示HelloWorld的程序#include int main(int argc, const char * argv[]){ printf("Hello, World!\n"); return 0;}第1行,#include ,将头文件的内容copy到该命令处;第2行,main函数,main函数是应用程序的入口,应用程序从
2014-04-15 22:03:51 843
原创 iOS开发学习笔记 1-0 开篇
大三的时候拥有了人生第一台苹果手机,iPhone 3G。之前从网上多少有些了解,但是当我拿到真机的那一刻,我才真正被iPhone那完美的设计和超级友好的交互体验震撼到,至少在那时,对一个用N72的人来说,它的设计和体验是完美的,从此,我发现自己慢慢的陷入了苹果产品的深渊。Stven Jobs让我隐隐约约的感觉到,我也要、并且可以做一个改变世界的人,至少我应该像李开复老师所说的,让世界因我不同。
2014-04-15 21:27:37 1027
原创 关于在其他机器上重启管理服务的步骤
在Weblogic管理当中,偶尔也许我们会遇到机器崩溃导致不能在先前运行管理服务的机器上重启管理服务的情况。那么我们可以通过对别的机器进行一些设置,在别的机器上启动管理服务,对受管服务进行接管。其步骤如下:1、将另一台机器的主机名(IP地址)设置为先前管理服务所在的服务器的主机名。2、在这台将要作为管理服务器的主机上安装Weblogic软件。3、拷贝先前作为管理服务器的机器中的
2012-10-29 21:53:51 564
原创 Linux系统使用crontab命令实现计划任务
1、cron和crontab简介 cron是linux系统主要的调度进程,可以在无人干预的情况下执行命令。crontab命令允许用户编辑、删除、提交相应的作业,每一个用户都可以有自己的crontab文件来保存调度信息,你可以使用它每隔一小时、每隔一周或者一周三次来执行任意一个Shell脚本或者命令。2、crontab的格式 crontab的格式为:分 时 日 月 星
2012-06-07 21:23:01 838
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人