object c 基础语法

http://blog.csdn.net/lutaotony/article/details/6863986  Object-c学习笔记

1.NSLog:控制台输出,用法和 printf 基本一样。NS’ 前缀表示这个函数来自于NEXTSTEPCocoa框架。

 NSLog (“base 8: %o
”, 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);
}



原文地址:https://www.cnblogs.com/wodehao0808/p/3592176.html