
IOS学习笔记
文章平均质量分 64
skewrain
这个作者很懒,什么都没留下…
展开
-
iOS程序员面试题系列(3)
1.UIWindow和UIView和CALayer的联系和区别?答:UIView是视图的基类,UIViewController是视图控制器的基类,UIResponder是表示一个可以在屏幕上响应触摸事件的对象;UIWindow是UIView的子类,UIWindow的主要作用:一是提供一个区域来显示UIView,二是将事件(event)的分发给UIView,一个应用基本上只有一个UIWind转载 2015-08-31 16:52:48 · 521 阅读 · 0 评论 -
OC视频笔记-引用计数和对象所有权的基本概念
1.引用计数和对象所有权的基本概念cocoa中的内存管理机制——引用计数【alloc+1】+【retain+1】+【release+1】+【release+1】Cocoa中提供了一个机制来实现上面提到的这个逻辑模型,它被称为“引用计数”(reference counting)或“保留计数”(retain counting)。引用计数的数值表示对象有几原创 2014-09-02 01:22:00 · 769 阅读 · 0 评论 -
OC视频笔记-单例设计模式
单例设计模式基本概念单例设计模式是运用较为普遍、广泛且较为简单的设计模式之一,它的设计原理是始终返回一个实例,即一个类始终只有一个实例。作用:1):作为一个全局的对象2):防止重量级对象重复创建,提高性能。创建单例设计模式的基本步骤:1):声明一个单例对象的静态实例,并初始化为nil。2):创建原创 2014-09-02 01:51:06 · 630 阅读 · 0 评论 -
OC视频笔记-类目和延展
类的扩展1.类目的基本概念和用法类目(category)的基本概念封装是面向对象的一个特征,OC也不例外,但是有的时候我们会碰到这样一种情况,比如我封装了一个类,不想再动它,可是随着程序功能的增加,需要在那个类中增加一个小小的方法,这时我们就不必在那个类中做修改或者定义一个子类,只需要在用到那个方法时随手添加一个该类的类别(category)即可。原创 2014-09-02 01:07:31 · 630 阅读 · 0 评论 -
OC视频笔记-对象的复制与归档
复制对象:源对象和副本对象是两块不同的内存区域。对象具备复制功能,必须实现1):协议2):协议3):常用的可复制对象有:NSNumber,NSString,NSArray,NSDictionary,NSMutableDictionary,NSMutableArray,NSMutableString.复制对象的种类1):copy:产生对象的副本原创 2014-09-02 01:42:23 · 597 阅读 · 0 评论 -
OC视频笔记-代理设计模式
4.代理(委托)设计模式a.代理设计模式的基本概念 代理是指一个对象提供机会对另外一个对象中的行为发生变化时做出的反应。如,当你将一颗石子(对象1)丢入水中(行为发生变化,之前可能在你的手中)时,水面(对象2)泛起波纹(做出的反应)。 总而言之,代理设计模式的基本思想—两个对象协同解决问题,通常用于对象之间的通信。b.代理设计模式的基本特点1原创 2014-09-02 01:11:52 · 661 阅读 · 0 评论 -
输出口和操作
输出口输出口就是我们需要原创 2014-09-12 17:03:22 · 800 阅读 · 0 评论 -
OC-文件读取实例
Example:复制一个大型文件,为了节约内存,每次原创 2014-08-27 10:15:50 · 939 阅读 · 0 评论 -
IOS开发常用工具
1.Axure RP是一个专业的快速原型设计工具。Axure(发音:Ack-sure),代表美国Axure公司;RP则是Rapid Prototyping(快速原型)的缩写。原创 2014-08-27 11:16:38 · 745 阅读 · 0 评论 -
OC-文件和计时器操作实例
Example:创建一个Date.text文件,获取当前的日期,将日期存储为格式”2014/08/22 10:25:23“的形式。然后一秒钟记录一次,将新的时间存入到文件中。原创 2014-08-22 10:54:44 · 995 阅读 · 0 评论 -
OC视频笔记-键值编码的基本概念
键值编码的基本概念和用法键值编码的基本概念1.键-值编码是一个用于间接访问对象属性的机制,使用该机制不需要调用存取方法和变量实例就可访问对象属性。2.键-值编码方法在Objective-C非正式协议(类目)NSKeyValueCoding中被声明,默认的实现方法由NSObject提供。3.键-值编码支持带有对象值的属性,同时也支持纯数值类型和结构。非原创 2014-09-02 02:01:35 · 717 阅读 · 0 评论 -
OC视频笔记-[键-值观察KVO+谓词]
1.KVO的基本概念键-值观察是一种使对象获取其他对象的特定属性变化的通知机制。控制器层的绑定技术就是严重依赖键-值观察获得模型层和控制器层的变化通知的。对于不依赖控制器层类的应用程序,键-值观察提供了一种简化的方法来实现检查器并更新用户界面值。与NSNotification不同,键-值观察中并没有所谓的中心对象来为所有观察者提供变化通知。取而代之地,当发生变化时,通知被直接发原创 2014-09-02 02:08:10 · 594 阅读 · 0 评论 -
iOS开发中常用的设计模式
GoF23中的设计模式设计模式的经典名著—DesignPatterns:Elements ofReusable Object-Oriented Software,中文译本名为《设计模式—可复用面向对象软件的基础》的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四个人常被称为Gang of Four,即四人组,简称GoF原创 2015-09-13 20:28:38 · 719 阅读 · 0 评论 -
关于iOS中的strong,weak,assign,copy,retain等关键字的总结
1.IBOutlet可以为weak,NSString为copy,Delegate一般为weak。一般来说,类“内部”的属性设置为strong,类“外部”的属性设置为weak。说到底是一个归属权的问题。小心出现循环引用导致内存无法释放。2.不用ARC的话就会看到很多retain。3.如果你写了@synthesizeabc=_abc;的话,系统自动帮你声明了一个_abc的实例变量。原创 2015-09-13 20:52:03 · 1147 阅读 · 0 评论 -
iOS程序员面试题系列(4)
1.什么时候使用weak关键字,相比assign有什么不同?答:(1)什么情况使用weak关键字?a.在ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate代理属性。b.自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用weak,自定义IBOutlet控件属性一般也使用weak;当然,也可以使用strong。(2)不同点:原创 2015-09-01 19:00:00 · 615 阅读 · 0 评论 -
iOS程序员面试题系列(2)
1.MVC的理解答:MVC设计模式考虑三种对象:数据模型对象、视图对象和控制器对象。数据模型:负责存储、定义、操作数据;视图:用来展示数据给用户,和用户进行操作交互;控制器:M与V的协调者,控制获取数据,将数据交给视图去展示。2.线程和进程答:1>进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。2>线程是进程的一原创 2015-08-27 21:47:55 · 724 阅读 · 0 评论 -
iOS程序员面试题系列(1)
1.main(){ int a[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf(%d,%d”,*(a+1),*(ptr-1));}输出结果:2,5。解释:&a是数组指针,其类型为int(*)[5];而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同,a是长度为5的int数组转载 2015-08-27 20:35:32 · 680 阅读 · 0 评论 -
从架构角度看移动APP
Native App Native App架构的客户端中包含了界面展现、业务逻辑、数据模型三个部分,如图1所示。通过网络访问服务器端的各种服务。以手机导航软件为例,在手机上会使用相应操作系统的API开发界面,然后调度业务逻辑层的进行功能实现。当需要展现地图时,如果手机上没有地图数据,就会使用经纬度坐标访问服务器上的地图服务,从服务器获取地图数据,解析后再通过界面绘制出来。在这样的交互下,转载 2015-03-24 17:21:12 · 711 阅读 · 0 评论 -
OC学习笔记-属性与成员变量的区别
1.类中得属性property原创 2014-09-03 17:01:52 · 1479 阅读 · 0 评论 -
NSBundle
bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程转载 2014-09-12 17:14:45 · 593 阅读 · 0 评论 -
OC视频笔记-读取文件类常用方法NSFileHandle
1):NSFileManager类主要对文件的操作(删除、修改、移动、复制等等)2):NSFileHandle类主要对文件内容进行读取和写入操作。NSFileHandle处理文件的步骤1):创建一个NSFileHandle对象2):对打开的文件进行I/O操作3):关闭文件。#:可以使用NSFileHandle做文件的断电续传。原创 2014-09-02 15:04:53 · 1081 阅读 · 0 评论 -
IOS开发常用工具网站
证书管理iOS 开发者中心 https://developer.apple.com/devcenter/ios/index.action 经纬度与地址转换 :http://www.gpsspg.com/latitude-and-longitude.htm图片转载 2014-09-06 16:56:13 · 1511 阅读 · 0 评论 -
浅谈IOS架构
iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统. 1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动, 内存管理,程序管理,线程管理(POSIX),文件系统,网络(BS转载 2014-09-06 21:00:36 · 656 阅读 · 0 评论 -
OC-中介找房-代理设计模式
定义一个Children类和一个Nurse类,并实例化一个保姆对象和孩子对象。当孩子哭的时候,告诉保姆“我需要你陪我玩”,当孩子e原创 2014-08-09 21:38:45 · 1220 阅读 · 0 评论 -
IOS学习笔记-属性
@property预编译指令的作用是自动声明属性的setter和getter方法。@synthesize也是一种新的编译器功能,它表示“创建了该属性的访问代码”。当遇到@synthesize rainHandling;这行代码时,编译器将添加实现-setRainHandling:和-rainHandling方法的预编译代码。有两个地方可以用来添加实例变量声明:头文件和实现文件。我们甚至可以原创 2013-11-25 15:37:52 · 845 阅读 · 0 评论 -
创建自己的第一个IOS应用---ToDoList
完成一个My To-Do List的程序步骤如下:1.首先建立一个Empty Application.如下图所示:创建项目的名称如下: 选定项目存储位置,然后“确定”。2.按“Ctrl+N”出现如下的界面,我们选择IOS列下面userinterface栏,然后,然后选择“storyboard”,界面如下所示: 点击“下一步”,我们保存为“Main”。原创 2014-02-25 22:16:09 · 1317 阅读 · 0 评论 -
IOS学习笔记---collections
Different types of collections organize their contained objects in distinctive ways:1):NSArray and NSMutableArray—An array is an ordered collection of objects. You access an object by specifying i原创 2013-12-05 12:23:26 · 766 阅读 · 0 评论 -
IOS学习笔记-初始化
两种不同的创建对象的方法:(1):[类名 new];(2):[[类名 alloc] init]这两种方法是等价的,不过Cocoa惯例是使用alloc和init而不使用new.类簇:一群隐藏在通用接口之下的与实现相关的类。在Cocoa中,许多类实际上是以类簇的方式实现的。创建NSString对象时,实际上获得的可能是NSLiteralString、NSCFString、NS原创 2013-11-25 09:42:01 · 973 阅读 · 0 评论 -
IOS学习笔记---文件加载和保存
以下是将属性列表文件plist数据内容以二进制形式写入文件的代码:void writeCapitols (void){ NSMutableArray *capitols = [NSMutableArrayarrayWithCapacity:10]; NSMutableDictionary *capitol = [NSMutableDictionarydict原创 2013-12-04 20:10:25 · 707 阅读 · 0 评论 -
IOS学习笔记-协议和代码块
采用协议的方法是在类的@interface声明中列出协议的名称。采用协议就意味着你承诺实现该协议的所有方法。否则,编译器会生成警告来提醒你。声明协议的方式:@protocol MySuperDuberProtocol @end复制的种类:1)浅层复制:不会复制所引用的对象,新复制的对象只会指向现有的引用对象。2)深层复制:将复制所有的引用对象。Objective-C 2原创 2013-12-02 22:41:19 · 921 阅读 · 0 评论 -
IOS学习笔记---segue
Before asegue executes, the system gives the view controller involved a chance to prepare by calling prepareForSegue:. This is exactly the point at which you want to check to see whether the use转载 2013-12-08 16:16:34 · 919 阅读 · 0 评论 -
IOS学习笔记---storyboard
The application:didFinishLaunchingWithOptions: method in XYZAppDelegate.m is the first method in the file,which contains some lines of code that set up the app window and give it the white backgro原创 2013-12-08 22:15:27 · 798 阅读 · 0 评论 -
IOS学习笔记---Two ways of getting data
Table views have two ways of getting data—statically or dynamically. When a table view’s controller implements the required UITableViewDataSource methods, the table view asks its view controller for转载 2013-12-08 10:13:15 · 747 阅读 · 0 评论 -
Object C---super&self
self是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是 _cmd,代表当前类方法的 selector。super 是什么呢?super 并不是隐藏的参数,它只是一个“编译器指示符”,它和self 指向的是相同的消息接收者,不论是用 [self setName] 还是 [super setName],接收“setName”这个消息的接收者都是 PersonMe* me 这个对象原创 2014-03-06 17:14:06 · 821 阅读 · 0 评论 -
GDataXML
Google的GDataXML可以说是所有XML解析框架中使用最为广泛的DOM解析API原创 2014-04-16 10:06:19 · 746 阅读 · 0 评论 -
OC视频笔记-3
数组的基本概念Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合,通过索引下标获取到数组中的各个元素。与字符串相同,数组也有可变和不可变之分。此外,数组中不可以存放基本数据类型,只能存放类的实例(对象)。如若需要将基本数据类型、结构体放入数组中,需要通过NSNumber、NSValue进行数据的“封装”。不可变数组——NSArray原创 2014-08-07 20:25:37 · 626 阅读 · 0 评论 -
OC视频笔记-5
集合的基本概念 在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序的,同一个对象只能保存一个,并且它也分为可变和不可变的集合对象(可变集合对象:NSMutableSet)。不可变集合—NSSet//类似与数组的构建,直接创建一个集合。 NSSet *set1 = [[NSSet alloc] initWithObjec原创 2014-08-07 20:44:32 · 598 阅读 · 0 评论 -
OC视频笔记-2
类其实就是一种数据类型,它的变量就是对象。类可以看成是静态属性(实例变量)和动态属性(方法)的结合体。 在声明实例变量的时候不能为其初始化,系统默认会初始化。 实例变量的默认作用域范围是整个类。 “-”号开始的是实例方法,“+”号开始的是类方法。 OC中方法的调用有两种: 1):[类名或对象名 方法名] 2):对象名.方法名;原创 2014-08-07 20:10:49 · 794 阅读 · 0 评论 -
OC视频笔记-1
程序执行过程中的内存管理:1):代码区:存放代码;2):数据区:静态变量和字符串常量;3):栈:存放局部变量;4):堆:存放alloc出来的对象,是用来动态分配内存的。局部变量可以初始化,而实例变量(也称为成员变量)不能初始化。OC中浮点型常量默认为double类型,如果要声明一个常量为float,在数字的后面加F或者f。 char类型(ASCII码)原创 2014-08-07 20:00:45 · 609 阅读 · 0 评论 -
OC视频笔记-4
字典的基本概念Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合。正如,我们在字典里查找单词的定义一样。通过Key(键),查找对应Value(值),Key通常是字符串对象,也可以是其他任意类型对象。在一个字典对象中,key的值必须是唯一的。此外,字典对象的键和值不可以为空(nil),如果需要在一个字典对象中表示一个空值,可原创 2014-08-07 20:32:01 · 689 阅读 · 0 评论