Object-C学习
WflytoC
我愿意默默地静下心让自己变得更高,更快,更强。
展开
-
OC中switch使用字符串作为参数
实际上,object-c中switch的参数只能是int,byte,char,short的类型。那么我们如何使用字符串作为参数呢?一.字符串为数字字符串:如"1"、"2" 现将数字字符串转化为 数字类型:NSString *tempA = @"123";NSString *tempB = @"456";1,字符串拼接NSString *newString = [NSString stringW原创 2015-09-09 11:14:02 · 10640 阅读 · 1 评论 -
dispatch_block_t学习
dispatch_block_t是被提交到调度队列的代码块的原型,而该代码块没有参数和返回值,声明如下:typedef void (^dispatch_block_t)(void);原创 2015-12-08 20:28:23 · 1759 阅读 · 0 评论 -
__weak与__block修饰符区别
变量修饰符:__weak和__block:__block:它修饰的对象在block中是可以被修改、重新赋值的,在block中不会被block强引用一次,从而不会出现循环引用问题。__weak:使用了__weak修饰符的对象,作用等同于定义为weak的property。自然不会导致循环引用问题,因为苹果文档已经说的很清楚,当原对象没有任何强引用的时候,弱引用指针也会被设置为nil。__block转载 2015-12-05 20:55:04 · 311 阅读 · 0 评论 -
分清iOS中的OC和CF概念
在iOS世界,主要有两种对象:Objective-C 对象和 Core Foundation 对象。Core Foundation 对象主要是由C语言实现的 Core Foundation Framework 的对象,其中也有对象引用计数的概念,只不过不是 Cocoa Framework中Foundation Framework 的 retain/release,而是自身的 CFRetain/CFR原创 2015-12-05 00:03:12 · 1780 阅读 · 0 评论 -
Method Swizzling
swizzle英文解释为:(用酒棒等)搅合;那么Method Swizzling可以翻译为”方法交换”方法由两个部分组成。Selector相当于一个方法的id;IMP是方法的实现。这样分开的一个便利之处是selector和IMP之间的对应关系可以被改变。比如一个 IMP 可以有多个 selectors 指向它。而 Method Swizzling 可以交换两个方法的实现。或许你会问“什么情况下会需要转载 2015-11-21 10:59:55 · 238 阅读 · 0 评论 -
使用FOUNDATION_EXPORT或者#define来定义常量
一般iOS我们定义常量的方法有两种:1.#define kMyConstantString @"Hello"2..h文件FOUNDATION_EXPORT NSString * const kMyConstantString; FOUNDATION_EXPORT NSString * const kMyConstantString2;.m文件NSString * const kMyConstan转载 2015-11-03 17:06:34 · 1988 阅读 · 0 评论 -
NSAssert宏的记录
NSAssert宏的定义如下,具体看官方文档#define NSAssert(condition, desc, ...) ...NSAssert是IOS里的一个宏定义,通常用来调试,condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString。当conditon为YES时程序继续运行,为NO时,则抛出带有desc描述的异常信息。NSAssert()可以出现在程序的任原创 2015-12-09 18:20:56 · 363 阅读 · 0 评论 -
理解Static与Const
static作用:”改变生命周期” 或者 “改变作用域”const作用: “只读(readonly)”一.static关键字1.作用于变量 总结:用static声明局部变量,使其变为静态存储方式(静态数据区),作用域不变;用static声明外部变量,其本身就是静态变量,这只会改变其连接方式,使其只在本文件内部有效,而其他文件不可连接或引用该变量。用static声明局部变量——-局部变量指在原创 2015-12-09 14:37:48 · 371 阅读 · 0 评论 -
NSScanner类的基本用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。一.创建一个Scanner NSScanner是一个类族, NSScanner是其中公开的一类。通常,可以用scannerWithString:或localizedScannerWith转载 2015-10-15 12:23:36 · 513 阅读 · 0 评论 -
Objective-C中代码块的学习
块(Block)是Objective-C对ANSI C所做的扩展。一.块的基本语法:定义块的语法格式定义块变量的语法格式1.定义块的语法格式:^ [块的返回值类型](形参类型1 形参1,形参类型2,形参2,...){ //块执行体}定义块的返回值类型可以省略如果块没有返回值且块不带参数,建议使用void作为占位符2.定义块变量的语法格式:块返回值类型 (^块变量名)(形参类型原创 2015-10-13 19:39:31 · 306 阅读 · 0 评论 -
iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS
一般情况下,我们采用C风格的enum关键字可以定义枚举类型。enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlU转载 2015-10-14 18:15:30 · 1202 阅读 · 0 评论 -
iOS开发博客收集
王巍的博客:王巍目前在日本横滨任职于LINE。工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发。http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger。98年毕业,先后就职于洪恩软件、RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院长。该博客最初每天发送一条Mac技巧,不过目前已经形成了一种原创 2015-09-16 23:31:05 · 421 阅读 · 0 评论 -
Objective-C中的属性指示符
assign:指定对属性只是进行简单赋值,不更改对所赋的值的引用计数。主要适用于基础类型。atomic(nonatomic):指定合成的存取方法是否为原子操作(线程安全)。atomic是默认值,虽然可以保证对象数据的完整性,但是会造成性能下降。所以,大多数单线程环境下,使用nonatomic。copy:当调用setter方法对成员变量赋值时,会将被赋值的对象复制一个副本,再将该副本赋值给成员变量原创 2015-11-03 20:08:44 · 298 阅读 · 0 评论 -
Swift2中的String与Character
从Swift2开始,String不再遵守CollectionType协议,即不再是集合类型,但是String的属性characters遵守CollectionType协议。String的characters属性的类型是CharacterView(结构体)获取字符串String中单独的字符Character:for character in "Dog".characters { print(c原创 2016-01-14 10:40:18 · 979 阅读 · 0 评论