Objective-C学习笔记(1)

1、Objective-C和Cocoa

Object-C是一种编程语言,Cocoa是函数库。二者容易混淆,就像混淆C#和.NET一样。

2、Objective-C特有

1、减号(或加号):表示一个函数、方法或消息的开始;
如:C++一个方法的实现
void Hello::isInit(bool isinit)
{
    _is = isinit;
}
用Objective-C实现就是
-(void)Isinit:(BOOL)isInit
{
}
Objective-C中没有public和private的概念,可以认为全是public。
2、中括号:调用方法
C++中可以如:this->isInit(true);
在Objective-C中,就要写成:[self isInit:YES];
3、NS***
函数库的头部,历史原因。如:NSLog、NSString、NSInteger、NSURL、NSImage。如:NSLog(@"%d",str);
此外还有一些类如:CF、CA、CG、UI等,如CFString Tokenizer、CALayer:表示Core Animation、CGPoint:表示一个点、UIImage:表示图片。
CF:Core Foundation;CA:Core Animation;CG:Core Graphics;UI:iPhone Interface

3、Objective-C的#import和@interface

1、#import可以认为是#include
2、@interface:定义类或方法的开始,如下:
@interface Kids: NSObject {
    NSString *kidName;
    NSString *kidAge; 
}
-(BOOL) isCaughtKid:; 
@end

#import “kids.h”
@implementation Kids 
-(void) init 
{
    kidName=@”mykid”;
    kidAge=@”15”; 
}
-(BOOL) isCaughtKid:                                                                                                    {                                                                                                                           return YES;
}
@end
3、多个参数的写法
(方法的数据类型) 函数名:(参数1数据类型)  参数1数值的名字  参数2的名字:(参数2的数据类型)  参数2值的名字  ...;
如:-(void) setName:(NSString*)firstName  second:(NSString*)middleName  third:(NSString*)lastName;
实现:-(void) setName:( NSString*)firstName  second:(NSString*)middleName  third:(NSString*)lastName
{
_first = firstName;
_second = middleName;
_third = lastName;
  }
调用的时候:Name*  name = [[Name alloc] init];
      [name setName:@"张" second:@"三" third:@"丰"];

[[[MyClass alloc] init:[foo bar]] autorelease];
转换成C#或者Java的语法就是:MyClass.alloc().init(fool.bar()).autorelease();

4、其他

(1)id:类似于C++的auto;
      (2)同一个数组可以保存不同对象,NSArray
      (3)BOOL:YES表示true,NO表示false
      (4)nil:Objective-C里的NULL空,表示空指针
      (5)@"字符串":字符串是C字符串,@是把C的字符串转成NSString的一个简写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值