Objective-C
土豆吞噬者
这个作者很懒,什么都没留下…
展开
-
Objective-C学习笔记-消息
1.Objective-C是C的超集,所以C能使用的代码,Objective-C也能使用2.Objective-C代码使用.m文件而不是.c/.cpp3.Objective-C导入头文件使用#import "xxx.h"或者import <xxx.h>,#import指令会自动检查之前是否已经导入过这个文件。 所以在头文件里没必要使用 #ifndef 或者 #progra...原创 2018-09-02 19:27:50 · 230 阅读 · 0 评论 -
Objective-C学习笔记-Category
Category可以为任何已有类添加或者替换方法,即使没有源代码,但是不能添加实例变量#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface NSString(TestClass)-(int) getTestValue;@endNS_ASSUME_NONNULL_END#impor...原创 2018-10-13 00:34:02 · 122 阅读 · 0 评论 -
Objective-C学习笔记-KVO
1.KVO(key-value observering)是指当对象的属性值改变的时候,允许另外一个对象接受通知,其中context可以用来区分该通知是发给基类还是自己的。#import "TestObserver.h"@implementation TestObserver- (void)observeValueForKeyPath:(NSString *)keyPath ofOb...原创 2018-10-13 00:17:24 · 148 阅读 · 0 评论 -
Objective-C学习笔记-KVC
1.KVC(key-value-coding)能够让程序通过名称直接存取属性,KVC有关方法定义在NSObject,KVC违背了对象封装理念,因为即使属性声明为readonly,使用KVC依然可以修改实例变量的值。#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface TestClass : N...原创 2018-10-12 23:30:03 · 169 阅读 · 0 评论 -
Objective-C学习笔记-属性
1.属性的存取特性readwrite,自动创建存取方法,默认特性 readonly,只创建取方法2.属性的多线程特性atomic,使用锁机制确保对该属性的操作的原子性,默认特性 nonatomic,无原子性,所以速度会快一点,建议使用的特性3.属性的引用相关特性strong,在进行存操作时,会持有传进来的对象,放弃原有对象,默认特性 weak,在进行存操作时,不持有传进来的对...原创 2018-10-11 23:47:07 · 203 阅读 · 0 评论 -
Objective-C学习笔记-init
1.如果一个类没有实现init方法,那么在调用init初始化的时候所有成员变量都会被初始化为02.覆盖NSObject的init方法,instancetype代表返回当前类的实例,在旧版本OC里,还会使用id作为返回类型。因为基类的构造函数有可能返回nil,所以这里需要判断是否为空,这是苹果公司推荐写法,不过很多代码没有做这一步检查-(instancetype)init{ se...原创 2018-10-11 22:50:02 · 401 阅读 · 0 评论 -
Objective-C学习笔记-plist文件
1.苹果系统中大量使用了plist文件来保存配置信息,plist文件由以下对象组成NSArray NSDictionary NSString NSData NSDate NSNumber2.通过NSArray和NSDictionary的内建方法可以读写plist文件,代码如下#import <Foundation/Foundation.h>int main(...原创 2018-10-09 00:35:41 · 555 阅读 · 0 评论 -
Objective-C学习笔记-协议
1.OC中的协议类似于Java中的Interface,一个类也可以实现多个协议,但是Java中可以通过匿名内部类直接“new”一个Interface(例如SetOnClickListener(new XXX),OC中似乎不能这么做2.可以通过@required和@optional标注哪些方法是必须的,哪些是可选的,可以通过NSObject中的方法respondsToSelector来判断一个对...原创 2018-10-09 00:08:17 · 119 阅读 · 0 评论 -
Objective-C学习笔记-回调
1.OC中有四种方法实现回调,分别是目标-动作对,辅助对象,通知,Block对象2.目标-动作对,是指当某个事件发生时,向指定对象发送指定消息,计时器使用的就是目标-动作对机制,如下代码所示,每隔两秒会执行一次updateLastTime方法,其中NSRunLoop用来保持线程允许并处理事件- (void)updateLastTime:(NSTimer *)t{ NSLog(@"...原创 2018-09-24 19:17:20 · 1174 阅读 · 0 评论 -
Objective-C学习笔记-使用NSString与NSData读写文件
1.NSString读写文件 NSString *helloText=@"您好啊!"; NSError *error; if ([helloText writeToFile:@"/tmp/test.txt" atomically:true encoding:NSUTF8StringEncoding error:&error]){ ...原创 2018-09-23 21:28:49 · 650 阅读 · 0 评论 -
Objective-C学习笔记-NSSet与NSDictionary
1.NSSet与NSArray的区别就是NSSet里面的值是不可重复且无序的,在查找速度上NSSet比NSArray更快,而NSDictionary则可以存储键值对,这个键值对也是无序的,键通常是一个字符串(唯一的),而值可以是任意类型的对象2.和NSArray一样,NSSet和NSDictionary也是不可修改的,要想增加删除,可以使用NSMutableSet,NSMutableDic...原创 2018-09-23 20:58:09 · 2497 阅读 · 0 评论 -
Objective-C学习笔记-自定义类
1.OC中一个类由.h文件和.m文件组成,.h文件负责声明接口,.m文件负责具体实现2.在.h文件中@interface后面的格式为类名:基类名3.成员变量需要写在大括号内,最好使用下划线开头,使用成员变量需要写存取方法,为了开发效率,目前推荐使用属性代替成员变量,属性会自动生成带下划线的成员变量以及存取方法,还可以通过readonly,readwrite等来控制属性特性4.成员方法以...原创 2018-09-22 14:52:09 · 435 阅读 · 0 评论 -
Objective-C学习笔记-NSArray与NSMutableArray
1.NSArray是OC中用来保存对象的数组,NSArray在初始化完毕后不可以再添加或者删除里面的对象,也无法改变对象的顺序,甚至不能赋值,例如下面的赋值语句,编译器会出现错误提示Expected method to write array element not found on object of type 'NSArray *',NSArray的初始化放在方括号内,对象之间用逗号分隔,前方...原创 2018-09-10 23:34:53 · 380 阅读 · 0 评论 -
Objective-C学习笔记-NSString
1.NSString是OC中用来保存字符串的对象,可以通过在C字符串常量前加上一个@符号来创建一个NSString对象,例如NSString *strTest=@"my name is xy";2.也可以使用NSSring的方法来创建,例如,其中stringWithFormat的用法和NSLog一样 const char* test="my name is xy";...原创 2018-09-09 17:00:57 · 321 阅读 · 0 评论 -
Objective-C学习笔记-NSNumber与NSInteger
1.由于Objective-C是C的超集,所以C支持的基本数据类型,OC也支持,而NSNumber就是对这些基本数据类型的封装,例如char,short,int,float2.NSNumber可以通过下面两种方法初始化NSNumber n=[NSNumber numberWithInteger:100];NSNumber k=[[NSNumber alloc] initWithInt:...原创 2018-09-04 22:53:43 · 997 阅读 · 0 评论 -
Objective-C学习笔记-ARC
1.和Java一样,Objective-C中也有自动回收对象的机制ARC,当一个对象没有任何指针指向时,对象就会被释放2.默认的对象指针都是强引用的,假设现在有两个对象,A和B互相引用,那么着两个对象都没有办法通过ARC机制来释放3.可以通过弱引用来解决上面遇到的问题,下面的代码中,如果现在有A,B这两个对象,当代码执行完毕时,A中的B对象由于是弱引用,所以B可以被自动释放,B被释放后,A...原创 2018-09-03 23:50:45 · 235 阅读 · 0 评论 -
Swift,Objective-C,C,C++混合编程
swift/C/C++/OC混编原创 2019-08-22 18:50:10 · 287 阅读 · 0 评论