W e S D
0 1

随笔分类 -  Objective-C

摘要:写过C#的都知道C#通过反射读写一个对象的属性特别方便,可以利用字符串的方式去动态控制一个对象。其实在ObjC中,我们可以更高级点,根本不必进行任何操作就可以进行属性的动态读写,这种方式就是Key Value Coding(简称KVC)。KVC(键值编码)KVC的操作方法由NSKeyValueCod... 阅读全文
posted @ 2016-01-11 00:38 SD.Team 阅读(180) 评论(0) 推荐(0)
摘要:1.定义和使用Block 1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad {10... 阅读全文
posted @ 2015-12-27 23:58 SD.Team 阅读(144) 评论(0) 推荐(0)
摘要:UIViewController是iOS程序中的一个重要组成部分,对应MVC设计模式的C,它管理着程序中的众多视图,何时加载视图,视图何时消,界面的旋转等。1.UIViewController 创建与初始化 [1].通过nib文件创建与初始化- (BOOL)application:(UIAppli... 阅读全文
posted @ 2015-08-30 22:33 SD.Team 阅读(380) 评论(0) 推荐(0)
摘要:UIView对象在创建后,由UIViewController进行维护和管理。整个生命周期分为:创建视图,显示视图,隐藏视图和释放视图,在UIViewController中都有对应的方法。1. init (UIViewController对象初始化,初始化数据)- (instancetype)init... 阅读全文
posted @ 2015-08-24 22:11 SD.Team 阅读(149) 评论(0) 推荐(0)
摘要:在上篇我们简单讲了UIView的坐标与几何结构,这篇我们来实战UIView一下。UIView在App中有着绝对重要的地位,因为可视化控件几乎都是UIView的子类。在App负责渲染区域的内容,并且响应该区域内发生的触摸事件。UIView的功能 :管理矩形区域里的内容处理矩形区域中的事件子视图的管理实... 阅读全文
posted @ 2015-08-24 10:27 SD.Team 阅读(329) 评论(0) 推荐(0)
摘要:在我们使用app时屏幕上能看到的UI元素(按钮,列表,图片...),我们称之为视图,都是继承与UIView,它们通常有着位置,大小,背景颜色等属性,在appl中视图和窗口展示了应用的用户界面,同时负责界面的交互。1.视图的坐标与几何结构 [1].坐标系统,在UIKit中默认坐标系统把原点设置在左上... 阅读全文
posted @ 2015-08-17 07:43 SD.Team 阅读(308) 评论(0) 推荐(0)
摘要:Delegate在iOS开发中随处可见,Delegate是一种功能强大的软件架构设计理念,它的功能是程序中一个对象代表另一个对象,或者一个对象与另外一个对象协同工作(如小明喜欢一个女孩如花,却苦于没有如花的联系方式,于是叫好兄弟小东去拿如花联系方式,小东同学一天后返回结果给小明,....)。小明能否... 阅读全文
posted @ 2015-08-10 21:23 SD.Team 阅读(336) 评论(0) 推荐(0)
摘要:本文参考引用(http://www.csdn.net/article/2015-06-01/2824818-objective-c-style-guide/1)拥有良好的编码规范,能使我们的代码保持优雅,易读,易维护。我们现在从下面这些点开搞。1.代码组织在函数分组和protocol/delegat... 阅读全文
posted @ 2015-08-01 16:30 SD.Team 阅读(313) 评论(0) 推荐(0)
摘要:在前面三篇关于数据持久化,我们都用涉及到文件(plist文件,数据库文件),它们都是把它们存储在document目录下。iOS的文件机制是沙盒机制,应用只能访问自己应用目录下的文件。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Doc... 阅读全文
posted @ 2015-07-19 23:12 SD.Team 阅读(397) 评论(0) 推荐(0)
摘要:今天我们继续搞关于iOS的数据的数据持久化,这次要搞的是SQLite,但是Apple原生的SQLite API在使用上,非常不便。于是就出现了一系列优秀的SQLite API封装库,例如FMDB、PlausibleDatabase等,这次我们主要来介绍下FMDB (https://github.co... 阅读全文
posted @ 2015-07-13 21:29 SD.Team 阅读(264) 评论(0) 推荐(0)
摘要:在日常开发中经常要对NSString、NSDictionary、NSArray、NSData、NSNumber这些基本类的数据进行持久化,我们可以用XML属性列表持久化到.plist 文件中,也可以用NSUserDefaults,下面我们就开搞吧。XML属性列表方式:#import "AppDele... 阅读全文
posted @ 2015-07-06 20:54 SD.Team 阅读(383) 评论(0) 推荐(0)
摘要:在日常开发中对于NSString、NSDictionary、NSArray、NSData、NSNumber这些基本类的数据持久化,可以用属性列表的方法持久化到.plist 文件中。但是一些我们自定义的类的话,属性列表的方法就不能用了,这时候是NSKeyedArchiver出马的时候了。以我们前面写的... 阅读全文
posted @ 2015-07-05 22:42 SD.Team 阅读(350) 评论(0) 推荐(0)
摘要:在Cocoa Foundation中的NSSet和NSMutableSet,和NSArray功能性质一样,用于存储对象属于集合。但是NSSet和NSMutableSet是无序的, 保证数据的唯一性,当插入相同的数据时,不会有任何效果。NSSet 初始化及常用操作#import "AppDelegat... 阅读全文
posted @ 2015-07-05 21:46 SD.Team 阅读(277) 评论(0) 推荐(0)
摘要:在Cocoa Foundation中NSDictionary和NSMutableDictionary 用于对象有序集合,NSDictionary和NSMutableDictionary 与NSArray和NSMutableArray 有些不一样,前者可以保存多个不同类型的数据,而后者只能保存同一... 阅读全文
posted @ 2015-06-23 00:20 SD.Team 阅读(290) 评论(0) 推荐(0)
摘要:在Cocoa Foundation中NSArray和NSMutableArray用于对象有序集合,NSArray和NSMutableArray类最大的区别是:NSArray是不可变,NSMutableArray是可变的。它们只能存储Cocoa对象(NSObject对象),如果想保存一些原始的C数... 阅读全文
posted @ 2015-06-22 23:43 SD.Team 阅读(235) 评论(0) 推荐(0)
摘要:在Cocoa Foundation中的NSString和NSMutableString类,为我们提供了Unicode字符串的支持,NSString和NSMutableString类最大的区别是:NSString--创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。NSM... 阅读全文
posted @ 2015-06-17 20:58 SD.Team 阅读(231) 评论(0) 推荐(0)
摘要:学过java的同学都知道Interface(接口),那么在Objective-C中有没有接口呢?其实Objective-C中用Protocol(协议)来实现的,在Objective-C具体怎么用,我们直接看代码例子。StudentProtocol//////////////////// .... 阅读全文
posted @ 2015-06-14 18:45 SD.Team 阅读(291) 评论(0) 推荐(0)
摘要:Category的实际作用就是为已有的类来添加方法。为现有的类添加的方法可以先不用实现,在需要的时候再实现也是可以的。在我们的实际代码中如何来实现Category的呢?我们上篇的Person 类为例。///////////////// .h ////////////////#impo... 阅读全文
posted @ 2015-06-07 22:37 SD.Team 阅读(274) 评论(0) 推荐(0)
摘要:继承 面向对象编程 (OOP) 语言的一个主要功能就是"继承"。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为"子类"或"派生类",被继承的类称为"基类"、"父类"或"超类"。继承的过程,就是从一般到特殊的过程。在考虑使... 阅读全文
posted @ 2015-06-01 17:59 SD.Team 阅读(280) 评论(0) 推荐(0)
摘要:Objective-C内存管理,基本原理。 1.为什么要进行内存管理? 由于移动设备的内存极其有限,所以分配每个APP使用的内存也是有限制的,app运行时内存占用较多的话,系统就会发出内存警告,严重时会强制关闭app. 本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要... 阅读全文
posted @ 2015-05-31 23:13 SD.Team 阅读(149) 评论(0) 推荐(0)