Open yaofly2012 opened 1 year ago
self
, super
alloc
init
dealloc
#import
#import <file.h> // 针对系统文件
#import "file.h" // 自定义文件?
#import
vs. #include
#import
vs. @class
#pragma mark
Selections
XCode编辑器里文件并不是组织代码的最小单位,还有可选块
(Selections)
这里会展示当前光标所在的可选块区域。并且XCode默认会把文件里声明的类,类实现,宏等作为可选块。鼠标点击锚点可以看当前文件所有的可选择块:
点击可选择块可快速定位到指定代码位置。
Selections
利用#pragma mark
可以自定义可选块。有3种方式:
#pragma mark SelectionName
#pragma mark -
// 分隔符#pragma mark - SelectionName
// 同时展示分隔符和选择块名称,注意两者中间得有空格隔开Demo:
#pragma mark declaredPropertiesDemo
// ....
#pragma mark - arrayOfPointers
则对应展示:
这货不就是JS里的闭包函数么。
本身只声明类的方法,规定类应该要实现的方法。 有点类似C++里的接口。
@interface MClass: NSObject<Protocol1, Protocol2>
@end
一个协议可以继承其他协议
@protocol P2
@end
@protocol P2 <P1>
@end
@protocol P3 <P2, P1>
@end
- Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object.
- The main value of delegation is that it allows you to easily customize the behavior of several objects in one central object.
委托是一种设计模式:一个对象代表另外一个对象或者和另外一个对象协同。
Another Object
委托是一种设计模式,这种设计模式是通过定义协议来实现的,该协议封装了委托的职责,这样就保证了一个符合标准的类型(称为委托)提供已委托的功能。
Cocoa Dev Central: Learn Objective-C里内存管理章节。
Xcode ARC (automatic reference counting), "release is unavailable"
如何学习 Objective-C 语言,这方面最好的书有什么?
Hello World
概念
代码组织:
基本语法
关键字 作用域 指令 操作符
类型
类型为啥都是
NS
开头?nil
// 方式2
随机指向一个对象曾经的数据?
Categaies ?
内存管理
函数
除了
main
函数,不可以定义全局函数,只能作为方法?多个形参中非首个形参必须添加标签(JoiningArgument)
函数两种调用方式:
块
有点类似全局函数,用法上又如同JS里的闭包。
数组
指针
是变量,所以它用法通其他变量,也有类型和值,不过值是其他变量的内存地址。
指针变量的内存地址大小是一样的。8btye ?
声明方式:
type *var-name
没有指定初始值的指针变量的值是个随机的地址?
指针算术运算
指针变量的值是内存地址,本质是个64位数字。虽然指针的值是个固定大小(8Byte)的数字,但是这个地址的对应的变量值是有大小的。
结构
预处理器
宏(macro) ?
什么是宏
ANSI standard
代码规范
大驼峰方式命名文件。