首页 > 其他 > 详细

Objective-C与C style语言的简单类比

时间:2014-01-24 04:11:41      阅读:411      评论:0      收藏:0      [点我收藏+]

1. 关于Objc中函数调用类比

[_lblHelloWorld setHidden:![_lblHelloWorld isHidden]];

类比为: _lblHelloWorld.setHidden(!(_lblHelloWorld.isHidden()));

Tip: objc中的boolean值为YES和NO,而不是True or False

 

 -(void) helloWorld:(BOOL)isHelloWorld{}

类比为: public void helloWorld(bool isHelloworld){}

Tip: 前面带有减号(-)的方法为实例方法,必须使用类的实例才可以调用。对应的有+号,代表类的静态方法,不需要实例化即可调用

 

2. 消息:向对象发送消息。

消息是iOS的运行环境特有的几只,和C++和Java上类类似,但机制上有很大的差别。

[object message:param1 withParameter:param2]

NSString *string;

string = [[NSString alloc] initWithString:@“Hello”];

类比为:

    object.message()

    object.message(param1,param2)

    string *str;

    string = new string(“Hello”);

 

3. import方法

#import “Class.h”

#import <Class.h>

#import <director/Class.h>

和C下的include方法相似

 

4. Property 和 Synthesize

Property定义:@property声明用于自动创建property属性变量的getter和setter

Synthesize定义:@Synthesize声明实现了property属性变量的geetter和setter

例如:

在interface: @property dataType variableName

在implementation: Synthesize variableName

 

5. 头文件中的方法

 -(returnType)method

 -(returnType)method:(dataType)param1

 -(returnType)method:(dataType)param1 withParam:(dataType)param2

类比为:

 returnType method()

 returnType method(param1)

 retrunType method(param1,param2)

 

6. 关于self:指向自己的指针

[self method];

类比为: self.method();

 

7. 继承关系和接口实现

 ClassA:PraentA

 ClassA:PraentA<Protocol>

 ClassA <Protocol>

类比为:    

    ClassA extends ParentA

    ClassA extends ParentA implements interface

    ClassA implements interface

 

8. 空指针

id obj = nil;

NSString *hello = nil;

nil相当于java里的null

 

9.id:objective-c中的id和C++里的(void*)类似

Objective-C与C style语言的简单类比

原文:http://www.cnblogs.com/fuyunbiyi/p/3531504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!