iOS
文章平均质量分 51
路小小卡
一枚码农,平时不太上博客,私信找微博:http://weibo.com/shawnloo
展开
-
iOS中Block的简单用法
Block作为参数,传递执行语句void Work(void (^dothings)()){ NSLog(@"eating..."); dothings(); NSLog(@"go home...");}void WorkDay(int workday){ void (^workThing)(); switch (workday) { c原创 2015-09-16 14:20:43 · 498 阅读 · 0 评论 -
iOS中协议(Protocol)的简单用法
1. 基本概念一个Protocol是由一系列的方法声明组成的。任何类只要遵守了Protocol, 就相当于拥有了Protocol的所有方法声明。 协议中有2个关键字可以控制方法是否要实现(默认是@required,在大多数情况下,用途在于程序员之间的交流) @required:这种属性的方法必须要实现(若不实现,编译器会发出警告) @optional:这种属性的方法不一定要实现。2. 示例代码原创 2015-09-16 15:04:24 · 1030 阅读 · 0 评论 -
iOS中NSNumber和NSValue的简单用法
比较简单,直接上代码:#import <Foundation/Foundation.h>typedef struct { int year; int month; int day;}MyDate;int main(int argc, const char * argv[]) { @autoreleasepool { // insert code h原创 2015-09-16 15:13:03 · 1036 阅读 · 0 评论 -
iOS中NSFileManager的简单用法
示例代码#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSFileManager *fm = [NSFileManager defaultManager];//原创 2015-09-16 15:06:49 · 449 阅读 · 0 评论 -
iOS中NSDate和NSCalendar的简单用法
简单,上代码:#import <Foundation/Foundation.h>void print(NSObject *object){ NSLog(@"%@",object);}void test(){ NSLog(@"...");}void printTime(NSDate *date){ NSDateFormatter *df = [NSDateFormat原创 2015-09-16 15:13:54 · 3216 阅读 · 0 评论 -
iOS集合对象的内存管理
1. 概念综述Person *p, NSMutableArray *arr 数组中存放一个对象,实际上存的是对这个对象的引用,使该对象的retainCount+1,数组中加入两次该对象,则该对象的引用计数加2,当从数组中移除一次,则释放一个引用,当执行[arr release]时,会向数组中的每个对象发送一次release消息。总结一下,数组中存放对象存的是对该对象的引用。 2. 示例代原创 2015-09-16 15:19:28 · 657 阅读 · 0 评论 -
iOS单例模式简单实现
1. 单例模式介绍内存中只有一个对象实例2. 实现思路实现单例模式 ARC模式: 1.遵循协议,重写copyWithZone方法,返回self,防止通过copy来产生新的实例对象。 2.重写allocWithZone方法。代码如下。防止通过alloc来生成新的实例对象。 MRC模式: 1.同ARC模式原创 2015-09-16 15:48:35 · 953 阅读 · 0 评论 -
iOS的copy概念详解
1. copy概念浅复制与深复制 copy即复制,有浅复制和深复制两种。浅复制即引用复制,只拷贝对象的引用,不分配新的内存空间,深复制即对象拷贝,会创建一个对象的副本,分配新的内存空间,与原对象独立。 深复制(深拷贝,内容拷贝,deep copy) 源对象和副本对象是不同的两个对象 源对象引用计数器不变, 副本对象计数器为1(因为是新产生的) 本质是:产生了新的对象浅复制(浅拷贝,指针拷贝原创 2015-09-16 15:35:54 · 584 阅读 · 0 评论 -
iOS的KVC编程示例
看了传智播客视频简单总结一下:首先是一个Dog对象:#import @interface Dog : NSObject@property (nonatomic,copy) NSString *name;@end然后是一个Person对象:#import #import "Dog.h"@interface Person : NSObject@property (原创 2015-09-07 15:11:02 · 311 阅读 · 0 评论 -
iOS通知使用示例
通知机制主要用到两个类:NSNotificationCenter和NSNotification。sender1 和 listener1 分别是自定义的通知发布者和通知监听者,在通知监听者中需要有监听通知的方法。NSNotificationCenter 实例化一个通知中心类,然后添加通知监听者,并制定监听者所使用的方法。 通知发布者通过NSNotificationCenter的类来发布通知: 移除通原创 2015-09-07 10:42:18 · 765 阅读 · 0 评论 -
iOS代理使用方法
这里使用代理的原因:点击UITableViewCell中的下载按钮后,需要在self.view中显示一个UILabel提示正在下载,然后慢慢消失,由于UITableViewCell中的按钮点击操作无法影响到CZAppTableViewController,因此需要通过代理来实现需求。代理步骤:1. 需要使用代理的XZAppCell的对应类来声明代理协议,并定义要实现的方法,方法参数为C原创 2015-09-01 16:05:59 · 2059 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
iOS代理使用方法 这里使用代理的原因: 点击UITableViewCell中的下载按钮后,需要在self.view中显示一个UILabel提示正在下载,然后慢慢消失,由于UITableViewCell中的按钮点击操作无法影响到CZAppTableViewController,因此需要通过代理来实现需求。代理步骤: 1. 需要使用代理的XZAppCell的对应类来声明代理协议,并定义要实现原创 2015-09-01 16:19:12 · 356 阅读 · 0 评论 -
iOS中nil,Nil,NULL,NSNull的区别
nil是给对象复制为空,Nil是给一个类对象复制为空。 NULL是C语言中的通用指针,就是0. NSNull 是一个对象,用在不能使用nil的场合。 比如数组,OC中的数组可以存任何对象,但是不能存基本类型的,如果在数组中放nil就出问题,这时候就应该放NSNull.原创 2015-09-09 12:01:22 · 585 阅读 · 0 评论 -
iOS中属性与成员变量的区别
转自:http://www.cnblogs.com/ygm900/p/3660364.html一、类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如:@interface MyViewController :UIViewController{ UIButton *转载 2015-09-09 14:22:25 · 626 阅读 · 0 评论 -
@property参数 retain assign copy readonly readwrite atomic nonatomic
1. 苹果官方规定的内存管理原则创建谁release : 如果你通过alloc、new或copy、mutableCopy来创建一个对象,那么你必须调用release或autorelease。 谁retain谁release :只要你调用了retain,就必须调用一次release总结一下就是 有加就有减 ,曾经让对象的计数器+1,就必须在最后让对象计数器-1 在自己负责的区域内(某个方法原创 2015-09-10 10:36:42 · 506 阅读 · 0 评论 -
循环retain导致内存泄露
问题描述Dog.h#import <Foundation/Foundation.h>@class Person;@interface Dog : NSObject@property (nonatomic,retain) Person *owner;@endPerson.h#import <Foundation/Foundation.h>@class Dog;@interface Per原创 2015-09-10 11:38:43 · 576 阅读 · 0 评论 -
ARC内存管理
示例代码Dog.h#import <Foundation/Foundation.h>@class Person;@interface Dog : NSObject@property (nonatomic, strong) Person *owner;@endDog.m#import "Dog.h"@implementation Dog- (void)dealloc{ NSLo原创 2015-09-11 13:25:20 · 428 阅读 · 0 评论 -
iOS分类(Category)和类扩展(Extension)的简单用法
一、分类1.1 分类简介• 分类只能增加方法, 不能增加成员变量、@property(可能编译不报错,但是运行有问题) • 分类可以访问原来类中的成员变量 • 如果分类和原来类出现同名的方法, 优先调用分类中的方法, 原来类中的方法会被忽略 • 方法调用的优先级(从高到低) ➢ 分类(最后参与编译的分类优先),只要有分类就优先调用分类,不考虑与主类的编译顺序。 ➢原创 2015-09-11 13:35:12 · 9029 阅读 · 0 评论 -
使用CocoaPods配置第三方类库
转自:http://www.it165.net/pro/html/201402/9213.html#printSource前言在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。什么是CocoaPodsCocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称转载 2015-10-22 14:44:54 · 1302 阅读 · 0 评论