http://blog.csdn.net/lutaotony/article/details/6863986 Object-c学习笔记
1.NSLog:控制台输出,用法和 printf 基本一样。‘NS’ 前缀表示这个函数来自于NEXTSTEP的Cocoa框架。
NSLog (“base 8: %o\n”, num);
2.数组初始化:
int a[] = { [9] = x + 1, [2] = 3 };//10 个元素的数组,给a[9]和a[2]赋值
//创建一个不可变的数组
NSArray *array= [NSArray arrayWithObjects:@"雨松", @"MOMO",@"哇咔咔",myClass,nil];
//得到数组的长度
int count = [array count];
//遍历这个数组
for (int i = 0; i < count; i++) {
NSLog(@"普通的遍历:i = %d 时的数组对象为: %@",i,[array objectAtIndex: i]);
}
http://www.cocoachina.com/newbie/tutorial/2010/1009/2151.html 一些 NSArray 的基本操作代码例子
3.结构体初始化:
struct point
{
float x;
float y;
} start = {100.0, 200.0};
struct point end = { .y = 500, .x = 200 }; //按名称赋值
4. 关键字volatile、restrict:
优化编译,用处不大
C语言的5种存储类以及关键字volatile、restrict http://www.diybl.com/course/3_program/c++/cppjs/20090508/166822.html
5.#import:
用于导入,保证头文件只包含一次,#include 也可以
6.字符串:
Object-C的字符串与C的字符串不同,是用Unicode编码来代替了ASCII编码。由于Object-C完全兼容C,为了区分,字符串前面用@。
如:NSString *name = @"Chase";
NSString同样是不可修改的,每一次改动都会重新生成一个新的对象,如果想要修改则要是用NSMutableString,它是NSString的子类。
创建:
NSString *str=[NSString stringWithFormat: @"hahhahaha"];
7.类:
类的声明:声明开始使用@interface,结束定义使用@end;而不是使用class
@interface Shape : NSObject//继承NSObject类
{
@private
int var;
@public
int color;
}
-(void) setColor : (int ) color;//减号“-”声明的方法为:实体方法(instance method)
+(void)showMe;//加号“+” 声明的方法:类方法(class method);相当于java中的静态函数
@end
类的实现:使用命令:@implementation,结束@end
@implementation Shape
-(void) setColor : (int ) color
{
//code
}
+(void)showMe
{
//code
}
@end
类的实例化:
MyClass *mc =[[MyClass alloc]init];
alloc 是固定格式,是为对象申请内存空间, init则完成对象的初始化工作
http://blog.sina.com.cn/s/blog_7a2ffd5c0100ttep.html 快速了解Object-C语言(1)
http://blog.csdn.net/xiaominghimi/article/details/6577412 [Object-C语言随笔之三] 类的创建和实例化以及函数的添加和调用!
8. 方法/函数:
方法定义:
-(int) getX;//无传入参数的方法
-(void) setX:(int) x;//有一个参数的方法
Object-c的一个方法可以包含多个参数,除了第一个参数外,后面的所有参数都要写名字,这一点和其他的语言有很大的不同。
-(void) setXY:(int) x andSetXY:(int) y;//多个参数的方法
方法调用:
创建类实例
MyClass *mc =[[MyClass alloc]init];
int x = [mc getX];//无传入参数的方法调用
[mc setX:8];//有一个参数的方法调用
[mc setXY:9 andSetXY:22];//有多个参数的方法调用,每个参数前面都有一个名字。蛋疼,菊紧
9.for循环:
除了基本的for(;;)循环外还有一种枚举遍历,和python差不多。
NSArray *marray =[[NSArray alloc] initWithObjects:@"aaa",@"bbb", nil];
for (NSString *str in marray)
{
NSLog(@" %@",str);
}