OC首页投稿(暂停使用,暂停投稿)iOS Developer

从c#快速上手objective-c(一)

2016-03-23  本文已影响464人  辉仔SAMA
大前言

前言

先来看看两者的语言外貌

static void Main(string[] args)
 {          
   person huizai = new person("辉仔",18);//实例化一个叫辉仔的对象            
   person lisi = new person("李四", 20);//实例化一个叫李四的对象                    
   person.staticfunction();//静态方法调用                   
   huizai.function();//调用实例化方法                    
   huizai.functionWithOneParameter(450);//调用带有一个参数实例化方法,传入450这个参数                      
   huizai.functionWithTwoParameter(12, 450);//调用带有二个参数实例化方法,传入12和450两个参数                    
   huizai.delegateObject = new person.DesignatedDriving(lisi.designatedDriving);//将huizai对象中的委托对象与方法关联起来           
   huizai.delegateObject(huizai);//调用委托的方法          
   huizai.Driveacar();//调用接口方法                                 
   Console.ReadKey();
}      
int main(int argc, const char * argv[])
{
    person *huizai=[[person alloc] initWithname:@"辉仔" age:18];//实例化一个叫辉仔的对象    
    person *lisi=[[person alloc]initWithname:@"李四" age:20];//实例化一个叫李四的对象    
    [person staticFunction];//静态方法调用   
    [huizai function];//调用实例化方法  
    [huizai functionWithFistParameter:450];//调用带有一个参数实例化方法,传入450这个参数  
    [huizai functionWithFistParameter:12 SecondParameter:450];//调用带有二个参数实例化方法,传入12和450两个参数  
    huizai.delegate=lisi;//确定委托对象 
    [huizai designatedDriving:lisi];//调用委托方法    
    [huizai usecategoryfunction];//调用category拓展方法  
    return 0;
}
20160323133038.png 屏幕快照 2016-03-23 下午1.44.29.png

今天就先来说说objc和c#类文件的不同

屏幕快照 2016-03-23 下午2.30.02.png
class xxx
{
   int xxx=35435;//创建一个变量并赋值
   void xxx()//创建一个方法并实现里面的内容
   {
   Console.WriteLine("XXX");
   }
}

但在objc中就没这么方便了,首先我们要在.h文件里声明

//这里是xxx类的.h文件xxx.h
#import <Foundation/Foundation.h>//这里就先理解成引用或预处理就好
/**objc中每个类必须继承NSobject类,不过其实系统会自动帮你写好*/
@interface xxx: NSObject 
int xxx;//声明了一个xxx的int变量,这里不能赋值
-(void) xxx;//这里声明了一个xxx方法,这里不能实现方法内容
@end//在@interface和@end之间作声明

然后再在.m文件实现

//这里是xxx类的.m文件xxx.m
#import "person.h" //必须要引进自己类的.h文件,不过其实系统会自动帮你写好
@implementation xxx
-(void) xxx//实现方法内容
{
self.xxx=34234;// 对自身的xxx变量赋值
NSLog(@"xxx");
}
@end

对比一下我相信懂c#的程序员应该可以看明白,但注意以下几点:

结语

上一篇下一篇

猜你喜欢

热点阅读