上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fundation都提供了run loop objects来 帮助配置和管理你线程的run loop。你的应用程序不需要显式的创建这些对象(run loop objects);每个线程,包括程序的主线程都有与之对应的run 阅读全文
posted @ 2014-02-23 16:36 吃肉的核桃 阅读(257) 评论(0) 推荐(0) 编辑
摘要: iOS平台内存常见问题作为iOS平台的开发者,是否曾经为内存问题而苦恼过?内存莫名的持续增长,程序莫名的crash,难以发现 的内存泄漏,这些都是iOS平台内存相关的常见问题;本文将会详细介绍iOS平台的内存管理机制,autorelease机制和内存的使用陷阱,这些将会 解决iOS平台内存上的大部分问题,提高了程序的稳定性;1 iOS平台内存管理介绍iOS平台的内存管理采用引用计数 的机制;当创建一个对象时使用alloc或者allWithZone方法时,引用计数就会+1;当释放对象使用release方法时,引用计数就是-1; 这就意味着每一个对象都会跟踪有多少其他对象引用它,一旦引用计数为0, 阅读全文
posted @ 2014-02-23 16:28 吃肉的核桃 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码。例如对Possession对象归档保存。定义Possession:@interface Possession:NSObject{//遵守NSC 阅读全文
posted @ 2014-02-23 16:09 吃肉的核桃 阅读(479) 评论(0) 推荐(0) 编辑
摘要: Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就需要将其定义为成员变量。1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序员分配释放,若程序员不释放,则可能会引起内存泄漏。注堆和数据结构中的堆栈不一样,其类是与链表。操作系统iOS中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment“,“ 阅读全文
posted @ 2014-02-23 13:04 吃肉的核桃 阅读(381) 评论(1) 推荐(1) 编辑
摘要: 1. 变量的@public @private @package @protected 声明有什么含义?@public 可以被所有的类访问@private 只有该类的方法可以访问,子类的都不能访问@protected 该类和所有类的方法可以直接访问@package 一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private,,Objective-C中的 @package与C语言中变量和函数的private_extern类似。任何在实现类的镜像之外的代码想使用这个实例变量都会引发link error,这个类型最常用于框架类的实例变量,使用@p 阅读全文
posted @ 2014-02-23 12:05 吃肉的核桃 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1.在ARC项目中使用非ARC框架或者类库IOS 4引入了Automatic Reference Count(ARC),编译器可以在编译时对obj-c对象进行内存管理。之前,obj-c的内存管理方式称作引用计数,就是obj-c对象每被”使用”一次,引用计数+1,当引用计数为0时,系统会回收内存.用程序语言表达,就是allco的要release,retain/copy的要release.还有某些容器add的,也要release等等.那么在现有的ARC项目中,如何引用非ARC的第三方框架或者类库呢?答案很简单,只需在TARGETS里的Build Phases中,找到 Compile Sources 阅读全文
posted @ 2014-02-23 11:08 吃肉的核桃 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 1.使用前 需要导入Social.framework 框架2.实例代码(新浪微博为例)- (IBAction)shejiaoBtn { // 判断服务器是否可用 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) { // 实例化试图控制器 SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]; . 阅读全文
posted @ 2014-02-22 11:03 吃肉的核桃 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点: 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例。 2.灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程IOS中的单例模式 在objective-c中要实现一个单例类,至少需要做以下四个步骤: 1、为单例对象实... 阅读全文
posted @ 2014-02-21 12:07 吃肉的核桃 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影。而手机等移动设备又成为二维码的一个很好的应用平台,不管是生成二维码还是扫码二维码。下面介绍一下如何在苹果iOS设备上使用二维码:1. 二维码的生成#import "NSString+Helper.h"// 加入框架#import @implementation NSString (Helper)/**返回当前字符串对应的二维码图像二维码的实现是将字符串传递给滤镜,滤镜直接转换生成二维码图片*/- (UIImage *)createQRCode{ // 1. 实例化一个滤镜 CIFilter *filter 阅读全文
posted @ 2014-02-20 23:36 吃肉的核桃 阅读(418) 评论(0) 推荐(0) 编辑
摘要: XML & JSON 简介•JSON–作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式–基于JavaScript的一个子集–易读性略差,编码手写难度大,数据量小–JSON格式取代了XML给网络传输带来了很大的便利,但是却没有了XML的一目了然,尤其是JSON数据很长的时候,我们会陷入繁琐复杂的数据节点查找中•JSON是轻量级的数据交换格式,正逐步取代XML,成为通用网络数据格式•使用类方法JSONObjectWithData:options:error:可以将接收到的JSON数据反序列化为NSArray或NSDictionary等对象•XML–可扩展标记语言–用 阅读全文
posted @ 2014-02-20 22:55 吃肉的核桃 阅读(570) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页