当你新建一个类的时候, Xcode 会自动给你写上以下代码。 #import <Foundation/Foundation.h> @interface Car : NSObject @end #import …
分类:object-c
Objective-C Class Extension
Objective-C 2.0增加了Class Extension用于解决两个问题: 可声明私有可读写的属性,而在类的声明中是同名的公开只读属性,从而来支持公开只读、私有可读写的属性 可声明私有方法;允许一个对象可以拥有…
Objective-C继承机制
Objective-C继承机制 一、继承 1.基本概念 一个新类可以从已有的类派生出来,这个过程称为继承,新类称为子类,已有的类称为父类或超类。 2.继承的特点: 实现代码重用:子类可以重用父类的实例变量和方法。 子类可…
iOS NSException与crash处理
利用 分类(category) + runtime + 异常的捕获 来防止Foundation一些常用方法使用不当而导致的崩溃。其原理就是利用category、runtime来交换两个方法,并且在方法中捕获异常进行相应的…
iOS 通过协议实现的匿名类对象
在ios中,协议的使用非常广泛,它定义了一系列的方法,这些方法可以是必须实现的也可以是可选性的。这个特性非常有利于我们将API中的细节隐藏起来,从而通过返回对象的方法设计出遵守协议的纯id类型。 一般,我们在定义“受委托…
iOS property参数:weak、strong、nonatomic、retain、assign等的用法
1.@property有哪些参数? 第一组: 内存管理特性 retain assign copy strong &nbs…
Swift 可变参数& Objective-C 可变参数
Objective-C中可变参数的API很多,如: void NSLog(NSString *format, ...) + (instancetype)stringWithFormat:(NSString *)forma…
Objective-C的Block
声明:本文是读了<Objective-C高级编程>做的笔记,以及结合本人写的例子总结的Block知识。 目录 Block入门 什么是Block 如何定义一个Block 如何声明一个Block类型的变量 把一个…
Object-C 三目运算符
一、三目运算符 1、基本格式 : (关系表达式) ? 表达式1 : 表达式2; 执行流程 : 关系表达式为 真 返回表达式1 关系表达式为假 返回表达式2 2、写一个例子来看一下三目运算符的使用: #include in…
「Objective-C」类和方法
1. 类方法和对象方法 对象方法 减号 – 开头 只能由对象来调用 对象方法中能访问当前对象的成员变量(实例变量) 类方法 加号 + 开头 只能由类(名)来调用 类方法中不能访问成员变量(实例变量) 类方法的…
让Objective C也有map功能
map一个数组是大部分高级语言都有的, OC 没有, 有几个方案让它实现, 我优选出三个: 原生实现 其实就是valueForKeyPath的活用: NSArray *names = [allEmployees valu…
Objective-C 方法签名和调用
NSInvocation 和方法签名 NSInvocation 是命令模式的一种实现。它把一个目标、一个选择器、一个方法签名、所有的参数都放到一个对象里面。当 NSInvocation 被调用的时候,Objective-…