自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 代理的作用

1、实现监听,可以让一个对象监听另一个对象的状态2、实现通知的思想,一个对象状态发生改变或者做了某些事情,想通知另一个对象

2015-05-12 15:39:41 646

转载 iOS多线程为什么会出现不安全的情况

本文在于说明iOS应用的Objective-C代码的线程安全性。先是简单介绍一下线程安全的基本知识,然后通过一个小例子来观察非线程安全代码,最后会稍稍介绍一个可以用来分析线程安全隐患的工具。1) 基础知识 (Threading Basics)当启动一个应用时,iOS会对应创建一个进程(process)和一块为之分配的内存。简单地说,一个应用进程的内存包括三个部分: (更详细的描述可

2015-05-07 20:22:52 869

转载 Objective-C消息转发

首先,你需要知道这两个概念:OC中调用方法就是向对象发送消息。比如 :[person run];这实际上这是在给person这个对象发送run这个消息。那么问题来了,当run这个方法只有定义没有实现会怎么样呢?就是经典的报错*** Terminating app due to uncaught exception 'NSInvalidArgumentExcept

2015-05-07 00:22:02 378

转载 ios的消息传递—— performSelector

Objective-C中调用函数的方法是消息传递,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。首先介绍两个方 ...Objective-C中调用函数的方法是“消息传递”,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何

2015-05-06 22:58:53 329

原创 iOS开发常见错误汇总-自己整理!

一、UIScrollerView内部子控件莫名其妙往下移动1、如果控制器view的第一个子控件是scrollerView(1)没有导航控制器:内部子控件会下移20;(2)有导航控制器时候:内部子控件会下移64;2、去掉系统自动下移操作self.automaticallyAdjustsScrollViewInsets= NO;二、控制器挂了,View还在的

2015-04-28 22:01:33 383

原创 自建项目分享-私人通讯录

1.演示私人通讯录    • 所需知识:控制器跳转,控制器之间传值,数据存储2.项目演示:(4个界面,交给4个控制器管理)    1> 登录界面:        ○ 登录按钮只有文本框都有文字才能点击        ○ 开关细节注意:当打开自动登录,记住密码也会打开,当关闭记住密码,自动登录也会打开。        ○ 文本框有占位符,提示用户输入什么。  

2015-04-28 22:00:22 690

原创 UITextView使用自定义表情键盘

怎么在你的键盘中集成微博的表情键盘? 考虑到复用,我们最好把这个表情键盘封装成一个类,方便以后凡是用到表情键盘的地方都可以快速调用。下面我来仔细介绍一下设计思路。*准备工作新建EmotionView : UIView. 首先,我们需要一些准备工作,一个face/emoticons.plist 文件解读一下这个plist文件,这一整个是一个数组,分别是[ite

2015-04-28 21:54:01 450

原创 iOS中实现Smartisan OS首页PageControll效果

Smartisan OS中的PageControl小点会跟着页面的移动跟着移动,而iOS中则是当滑到下一页的时候硬生生地跳到下一个空白圆点。不可否认,这一点确实是Smartisan OS中的效果做的好。那么我们有办法实现吗?答案是肯定的。下面介绍。1.创建图层为了便于复用,我们需要创建一个继承与UIView的类 PageControlView:UIView。定义一个初始化方法:-(

2015-04-28 21:51:11 421

原创 HTML5 基础

1.认识HTML51> 未来的⼀一种趋势2> 跨平台:利⽤用HTML5编写的UI界⾯面代码能运⾏行在所有拥有浏览器的平台3> HTML5的运⾏行平台:浏览器4> 但是HTML5不能完成⼀一些特定的功能:⽐比如拍照、相册(UIImagePickerController)2.开发工具1> android:eclipse、M

2015-03-22 11:03:51 306

原创 iOS 运行时 小结

1.什么是运行时?1> 运行时是一套纯C语言的API(纯C语言库)2> 编译器最终都会将OC代码 转化 为运行时代码* clang -rewrite-objc xxx.m3> 利用运行时,可以做很多底层的操作,比如* 动态添加对象的成员变量和成员方法* 动态交换两个方法的实现(特别是交换系统自带的方法)* 获得某个类的所有成员方法、所有成员变量2.如

2015-03-22 10:59:13 322

原创 iOS block 小结

一、0、为什么不使用方法来保存代码,要使用block(1)方法封装代码一开始就写死了,而不能在某个方法内部创建block保存一段代码,并且根据不同的需求调用不同的代码1.类似于指向函数的指针2、block的定义格式(1)没参数,没返回值(2)有参数,没返回值(3)有参数,有返回值3、block默认情况下保存在栈中,block里面引用对象会自动释放,使用copy会保存

2015-03-21 23:29:27 441

原创 Foundation框架中常用的类

Foundation框架中几乎天天都用到的类:1、NSString(子类NSMutableString)2、NSArray(子类NSMutableArray)3、NSSet(子类NSMutableSet)4、NSDictionary(子类NSMutableDictionary)5、NSDate1、NSString:不可变字符串,一旦定

2014-12-12 14:07:45 395

原创 OC内存管理剖析

OC中内存管理机制的原理:对象的及时释放引用计数器:1、概念:每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”。每个OC对象内部专门有4个字节的存储空间来存储引用计数器。2、作用:1)当使用alloc、new、copy创建一个新对象时,新对象的引用计数器默认就是12)当一个对象的引用计数器为0时,对象占用的内存就会被系统回收3、操作:1)调用一

2014-12-12 14:00:39 389

原创 OC中引用的注意事项

开发中引用一个类的规范:1、在.h文件中用@class来声明类2、在.m文件中用#import来包含类的所有东西@class使用场景:对于循环依赖关系,用@class在两个类相互声明,不会出现编译报错。@class和#import区别:1、#import方式会包含被引用的所有信息,包括本引用类的变量和方法;@class方式只是告诉编译器在A.h中B *b只是类的

2014-12-12 13:27:13 690

原创 iOS中的ARC

ARC机制(自动引用技术):编译器特性一、ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2

2014-12-12 13:02:09 355

原创 OC计算代程序码量

//计算某个文件夹下所有文件的代码量NSUInteger codeLineCount(NSString *path){    //1.获得文件管理者    NSFileManager *mgr = [NSFileManager defaultManager];        //2.判断path是文件夹还是文件路径    BOOL dir = NO; //标记是

2014-12-12 12:43:31 330

原创 OC中的协议protocol

协议protocol1、基本用途:>可以用来声明一大堆方法(不能声明成员变量)>只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明>只要父类遵守了某个协议,就相当于子类也遵守了2、关键字:协议中有2个关键字,可以控制方法是否要实现(默认是@required),在大多数情况下,用途在于程序员之间的较量>@required:这个方法必须实现(若

2014-12-12 12:39:46 432

原创 Xcode经典错误

用Xcode编程中,经常碰到的错误提示:1、-[Person test]: unrecognized selector sent to instance 给Person对象发送了一个不能识别的消息:test2、error: instance variable 'age' accessed in class method实例变量age不能在类方

2014-12-12 12:00:03 374

原创 iOS开发最基本控件的使用

一、控件的属性1.CGRect frame1>表示控件的位置和尺寸(以父控件的左上角为坐标原点)2>修改这个属性,可以调整控件的位置和尺寸2.CGPoint center1>表示控件的中点(以父控件的左上角为坐标原点)2>修改这个属性,可以调整控件的位置3.CGRect bounds1>表示控件的位置和尺寸(以自己的左上角为坐标原点,位置永远是(0,

2014-12-12 11:57:05 374

原创 OC中字典dictrionary的应用

字典的原理:     与java中的hashmap功能相同          key ---> value          字典中存储的都是键值对一、dictionary创建字典方法1:     NSArray *keys = @[@"name", @"address"];     NSArray *objects = @[@"jack", @"tia

2014-12-12 11:54:26 642

原创 OC三种数组遍历方法

//数组的遍历方法,注视方法3,block的应用NSArray *array = @[@"jack",@"jim",@"rose"];        //方法1:类似c语音的最简单遍历    for (int i = 0; i    {        NSLog(@"%@",array[i]);    }     

2014-12-12 11:47:07 741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除