
Objective-C
文章平均质量分 67
zzqiltw
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
@class关键字和#import
@class关键字只是告诉编译器这里有个什么类,并不会把类的方法和成员变量包含进来,因此原创 2014-05-24 09:16:53 · 376 阅读 · 0 评论 -
NSNumber和NSValue
因为NSArray等一系列集合是不允许基本数据类型、结构体和空值加入的,当我们要把一个基本数据leix原创 2014-05-29 15:16:43 · 549 阅读 · 0 评论 -
copy语法学习记录
1. 设计拷贝的目的:让原对象生成一个副本,使我们修改副本时不影响原对象,并且新对象计数器为1,原对象计数器不变。如:(深拷贝)例1:例2:例3:但是如果原对象本身就是个不可变对象再调用copy的对象,为了性能着想,干脆返回自身:(浅拷贝(只有不可变对象调用copy方法才会发生浅拷贝))例1:2.两种方式: 想调用copy方法,必原创 2014-05-30 13:29:31 · 912 阅读 · 0 评论 -
归档学习记录
归档和Java中得序列化机制类似,都是jiang原创 2014-05-30 21:05:44 · 639 阅读 · 0 评论 -
NSInteger和int的区别
今天在困惑int和long的使用。查到c语言中,int和long的字节数是和操作系统指针所占位数相等。但c语言中说,long的长度永远大于或等于intobjective-c里,苹果的官方文档中总是推荐用NSInteger它和int有什么区别呢,stackoverflow这帮大神给了答案。原来在苹果的api实现中,NSInteger是一个封装,它会识别当前操作转载 2014-05-30 20:20:12 · 603 阅读 · 0 评论 -
[个人博客搬运]Method Swizzling的简单应用场景
问题引入前几天和同事一起看一个iOS客户端工程的bug,找出来是向字典插入空值的原因,这类问题如果要预防,需要在每次插入之前做一次空值判断,虽然严谨但是稍微有些麻烦。于是周末我调研了其他的方法,就是Method Swizzling,用到Objective-C的底层Runtime机制。原理简单来说,每个类里都有一个 Dispatch Table ,将方法的名字(SEL)跟方法的实现(原创 2016-07-15 19:28:48 · 495 阅读 · 0 评论 -
[个人博客搬运]Objective-C的Block使用技巧
这周给大家分享的iOS知识算是蛮有意思的,用写Java方法调用的语法来写Objective-C。没有什么高大上的技术,有的只是Block的使用技巧。前些天在读这篇RAC源码解析的文章 的时候,联想到了Masonry/BlocksKit两个三方框架,它们三都大量使用到了Block,其中就有类似Java语法来写Objective-C的例子。首先我们来看看普通的Block是什么样的:in原创 2016-07-15 19:39:35 · 476 阅读 · 0 评论 -
[个人博客搬运]ReactiveCocoa学习笔记
ReactiveCocoa学习笔记前言ReactiveCocoa是一个很有意思的FRP框架,用法简单,但是理解起来稍微有些复杂。这篇笔记记录了自己对ReactiveCocoa的理解,大多以示例为主,每一个示例会附上注释。基本概念先说说基本的概念,这里引用Limboy’s HQ大大的例子:*Signal and Subscriber* 这是RAC最核心的内容,这里我想用插头和插座来描述,插座是Si原创 2016-07-15 19:40:50 · 862 阅读 · 0 评论 -
NSArray常用用法学习记录
NSArray是不可变的数组。类似于Java中得ArrayList。只是不能够添加元素,也bu原创 2014-05-28 17:19:45 · 564 阅读 · 0 评论 -
NSString的常用方法,包括查找、切割、比较
//// main.m// NSString的各种常用方法//// Created by zzqiltw on 14-5-26.// Copyright (c) 2014年 zzqiltw. All rights reserved.//#import #pragma mark 字符串的比较void testCompare() { if ([@"abc" isE原创 2014-05-28 11:39:37 · 3012 阅读 · 0 评论 -
Objectiv-C语法简单概述
OC是C语言的超集。C语言和C++代码可以和OC混合编译2.原创 2014-05-23 20:38:00 · 611 阅读 · 0 评论 -
Category使用以及使用场景
1. Category(以下称类别)非常类似于设计模式中的装饰设计模式,即原先的类不满足需求,需要为其增加新的方法。(但不能增加成员变量)2. 使用:Student.h#import @interface Student :NSObject -(void) print; @endStudent.m:#import "Student.h" @implem原创 2014-05-24 21:24:04 · 857 阅读 · 0 评论 -
@autoreleasepool学习记录
1. 和Java的GC不同,这个自动释放池是“半自动的”。当自动释放池销毁的时候,里面所有的对象调用一次release方法。2. 如何创建一个自动释放池:@autoreleasepool{ }大括号表示里面所有的对象会被添加到这个自动释放池中。当大括号结束的时候销毁自动释放池。3. 怎样将对象加入自动释放池呢?只需要对对象发送一条autoreleas原创 2014-05-24 15:14:10 · 454 阅读 · 0 评论 -
@property属性参数
1. 读写属性:默认是readwrite,会生成getter和set如果是readonly表示只会生成getter方法2. setter处理:默认是assign 赋值。因此基本数据类型不需要加这个参数。retain表示先释放旧的,再持有新的。copy表示先释放旧的,再copy新的。3. atomic:表示给方法加锁,保证多线程环境下的线程安全,支持多线程。(默认)nonatom原创 2014-05-24 14:15:06 · 514 阅读 · 0 评论 -
protocol协议的简单用法
1. 定义协议用关键字@protocol,这个概念类似于Java中的接口,但是协议不需要全部实现方法,只需要实现其中的某些方法即可。原创 2014-05-25 14:25:25 · 760 阅读 · 0 评论 -
Block的用法
Block效率高,苹果官方推荐使用。可以用Block实现类似Java8的新特性lambda表达式的效果,也和匿名类很像。有篇博客对block分析很透彻:http://www.cnblogs.com/ymonke/p/3511304.html原创 2014-05-25 15:58:57 · 506 阅读 · 0 评论 -
NSString的构造方法(包括读取文件和URL的内容)
今天学习了NSString类的常用构造方法,更加深入理解了OC语言风格。原创 2014-05-26 21:21:22 · 509 阅读 · 0 评论 -
NSMutableString的常用方法,包括替换、拼接、插入、删除
//// main.m// NSMutableString//// Created by zzqiltw on 14-5-27.// Copyright (c) 2014年 zzqiltw. All rights reserved.//#import void testBasic() { // 一种创建方式:先分配最大容量(超过会自动扩容)再set值 N原创 2014-05-28 11:41:07 · 1359 阅读 · 0 评论 -
[个人博客搬运]Effective Objective-C 2.0知识点小记
Effective Objective-C 2.0读书笔记第一章消息结构和函数调用的区别:消息调用的语言,其运行时所执行的代码由运行环境来决定;函数调用则有编译器决定。第二章在类的头文件中尽量少引用其他头文件,用@class字段,减少编译时间第三章多用@()来创建字面量第四章用#define会把所有的做替换,并且不会做类型判断,也不会有同名警告。#define kTimeDuratio原创 2016-07-15 19:41:40 · 850 阅读 · 0 评论