摘要:
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread2、Cocoa NSOperation(iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD全称:Grand Central Dispatch(iOS多线程编程之Grand Cent... 阅读全文
posted @ 2014-02-15 18:56
yulang
阅读(274)
评论(0)
推荐(0)
摘要:
KVO一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1. 注册,指定被观察者的属性,2. 实现回调方法3. 移除观察三,实例:假设一个场景,股票的价格显示在当前屏幕上,当股票价格更改的时候,实时显示更新其价格。1.定义DataModel,[cpp]view plaincopy@interfaceStockData:NSObject{NSString*stockNam 阅读全文
posted @ 2014-02-15 18:45
yulang
阅读(282)
评论(0)
推荐(0)
摘要:
今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢。当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运行的。时间到了,消息发出后,ontimer的函数是在主线程上调用的。我们会经常看到这样的代码:- (... 阅读全文
posted @ 2014-02-15 18:34
yulang
阅读(290)
评论(0)
推荐(0)
摘要:
一.线程概述有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样;圆如操作系统,一直运行直到你关机。一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流... 阅读全文
posted @ 2014-02-15 18:33
yulang
阅读(277)
评论(0)
推荐(0)
摘要:
1到底这个序列化有啥作用?面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中(来源于某教材的一段话)本人的理解是当你于写数据需要本地存储时,即将你的数据写到硬盘上的时候,你就必须对他进行序列化,转换成二进制文件,从而便于在磁盘上的读写,同理在取出的时候必须将其在反序列化,这样才能将数据读出来,就好比加密和揭秘的过程。2 为什么我将数据写到plist 中的时候,也是存储到本地的磁盘上,但是我就没有序列化啊?大家有没有发现,其实plist 的数据是类型是有限制的,就那么几种特定的数据类型,,ns 阅读全文
posted @ 2014-02-15 18:03
yulang
阅读(369)
评论(0)
推荐(0)
摘要:
assign: 简单赋值,不更改索引计数copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”STR”Copy到另外一个NSString之 后,地址为0×2222,内容相同,新的对象retain为1, 旧有对象没有变化retain到另外一个NSString之 后,地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain是指针拷贝,cop 阅读全文
posted @ 2014-02-15 17:26
yulang
阅读(314)
评论(0)
推荐(0)
摘要:
阅读本文之前首先了解Copy与Retain的区别: Copy是创建一个新对象,Retain是创建一个指针,引用对象计数加1。 Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 Retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain是指针拷贝,copy是内容拷贝。 当然在ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议的类可以发送copy消息,遵守NSMutableCopying 协议的... 阅读全文
posted @ 2014-02-15 17:20
yulang
阅读(787)
评论(0)
推荐(0)
摘要:
一,retain, copy, assign区别1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉。2. 了解到1中assign的问题,那么如何解决?最简单的一个方法就是使用引用计数(reference counting),还是上面的那个例子,我们给那块内存设一个引用计数,当内存被分配并且赋值给a时,引用计数是1。当把a 阅读全文
posted @ 2014-02-15 17:03
yulang
阅读(462)
评论(0)
推荐(0)
摘要:
初步写一些自己对于lazyload的看法吧。这篇文章主要针对普通view,对于image相关的的懒加载,准备过几天研究一下在写。懒加载,又称为延迟加载。通常用法,你有一个UITextField类型的property,简单定义为userNameTextField,但是你不在初始化方法里为其alloc/init,它就只是一个指针,不会占用内存。只是加载到你预想加载到的View上。如:[self addSubview:self.userNameTextField];//其中self为view,.userNameTextField为你声明的属性名字。显而易见的是,以上的指定是在view初始化的时候完成 阅读全文
posted @ 2014-02-15 16:30
yulang
阅读(220)
评论(0)
推荐(0)
摘要:
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点: 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例。 2.灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程IOS中的单例模式 在objective-c中要实现一个单例类,至少需要做以下四个步骤: 1、为单例对象实... 阅读全文
posted @ 2014-02-15 16:03
yulang
阅读(200)
评论(0)
推荐(0)
浙公网安备 33010602011771号