Objective-C 笔记片段 -- 基础语法
Objective-C 笔记片段 – 基础(1)
import & include
import可以保证类只被引用一次。
框架
序号 | 层次 | 备注 |
---|---|---|
1 | Cocoa Touch | 触控UI层 |
2 | Media | 媒体层 |
3 | Core Services | 核心服务层 |
4 | Core OS | 核心OS层 |
- Cocoa Touch包含:Game kit、Event Kit UI、Message UI、UIKit、
iAd、Map Kit、Address Book UI - Media包含:Media Player、Media Accessibility、GLKit、Sprite Kit、Assets Library、Game Controller、
Core Image、AV Foundation、Image I/O、OPenAL、Core Gragphic、Quartz Core、
Core Audio、Core Text、Core Video、Open GL ES - Core Services包含:Newsstand Kit、Address Book、Ad Support、Social、Foundation、Core Data、
Pass Kit、Store Kit、Safari Service、Quick Look、CFNetwork、Accounts、Event Kit、
Core Location、Mobile Core Service、Core Telephony、Core Motion、
Multipeer Connectivity、Javascript Core、Core Foundation、System Configuration、Core Media - Core OS包含:Core Bluetooth、External Accessory、Security、Accelerate、Generic Security Services、System
More On iOS框架和服务
NSLog
NSLog() 能够打印NSString类型的数据,EG:NSLog(@"Print Log"); NSLog(@"Print with parameter: Name : %@, Age : %d", @"name", 20)
NSLog可接受的参数有:
格式 | 类型 |
---|---|
%@ | 对象 |
%d,%i | 整数 |
%u | 无符号整数 |
%f | 浮点/双数 |
%x,%X | 二进制数 |
%o | 八进制数 |
%zu | size_t |
%p | 指针 |
%e | 浮点/双数(科学计数) |
%g | 浮点/双数 |
%s | C字符串 |
%.*s | Pascal字符串 |
%c | 字符 |
%C | unicode |
%lld | 64位长整数(long long) |
%llu | 64位无符号长整数 |
%Lf | 64位双字 |
Boolean
objective-c的boolean具有两个值:YES & NO,
objective-c中的BOOL是由一对带符号的字符类型(signed char)的类型定义(typedof),使用8位的存储空间。
通过#define指令把YES定义成为1,NO定义成为0
_ boolean in c & ocBOOL b1 = 8960; //objective-c NO bool b2 = 8960; //c true
_ YES / NO并不能简单的对应成true / false
类class
创建对象、初始化
- alloc 分配内存
- init 初始化对象
- EG:
MyObject *object = [[MyObject alloc] init]
- 基础概念
> objective-c的每个类都有一个单独的文件。当然,也可以将头文件.h与.m分开书写,这样就会有两个文件。
.h和.m一一对应。一般情况下,我们在.h中声明,然后在.m中实现。 - 类方法
在objective-c类的方法有+ - 两种。具体区别如下:+实例方法instance method:只有定义了类的实例,才可以被调用; -类方法class method:用类名直接调用
ClassName.h@interface ClassName:NSObject { // } -(void) classMethod; -(void) classMethodWithParameter:(NSString) name; +(void) instanceMethod; +(void) instanceMethodWithParameter:(NSString) name; @end
ClassName.m
`
import “ClassName.h”
@implement ClassName:NSObject {
//
}
-(void) classMethod{
//
}
-(void) classMethodWithParameter:(NSString) name{
//
}
-(void) instanceMethod{
//
}
-(void) instanceMethodWithParameter:(NSString) name{
//
}
`