oc基本简介

oc是面向对象的语言;

遵从ANSI C 标准C语法,使用了Smalltalk的方法

第一个oc程序;

 

#import <Foundation/Foundation.h>     

  告诉编译器找到并处理名为Foundation.h的文件,这是一个系统文件; #import表示将该文件信息导入到程序中

int main(int argc, const char * argv[]){

这是程序的入口     参数argc-参数数目      argv - 参数值

@autoreleasepool {

自动释放池,用于回收对象的存储空间

NSLog(@"我要装逼!");

NSLogFoundation框架提供的输出函数,可以格式化输出

}

return 0;

安全退出

}

 

 

NSLog的介绍

  NSLog是cocoa的框架中提供的一个方法

  NSLog定义在NSObjCRuntime.h中

  基本上,NSLog很像printf,同样会在console中输出显示结果。不同的是,传递进去的格式化字符是NSString 的对象,而不是chat *这种字符串指针

 

用法:

  NSLog(@"this is a test"); //打印一个字符串

 

  NSString *str = @"hello world!";

  (@"string is:%@",str);//使用占位符,%@表示打印一个对象,%@ OC特有的

 

  NSLog(@"x=%d, y=%d",10,20);//使用多个占位符,%d表示整型数

 

 

  不能使用Printf打印OC中的对象 (%@占位符不能用),没有结果。

 

 

@的使用

  在OC中“@”有特殊的用法

    1)@"" 这个符号表示将一个C的字符串转化为OC中的字符串对象NSString.

    2)@标识符 OC中大部分的关键字都是以@开头的,比如@interface,@implementation,@end

 

  2、OC中注释 OC中的注释有两种:

    1)单行注释:

      //

    2)多行注释:

      /* */

    3)文档注释

      /**

      * 狗吃食物的方法

      @class等。

      *

      * @param foodName 参数描述

      */

程序编译时,不对注释做任何处理
注意可以出现在程序的大部分的位置。

 

 

 

源文件对比

扩展名

含义

.h

头文件

.c

c语言源文件

.cpp  .c

c++语言的源文件

.m

OC的源文件

.mm

OC++的源文件

 

 

    oc中常用文件有两种:

    .h

头文件,头文件包含方法,属性的声明                                           

.m

类的实现文件,参与编译的文件,用来实现类中声明的方法

 

 

 

 

oc的基本数据类型

 

  

 

 

类型

描述

BOOL

字面常量值是YES或者NO

NSObject *

OC中的对象类型

id

动态对象类型,万能指针

SEL

选择器数据类型

block

代码块数据类型

 

 

 

方法

 

  函数(方法)定义和声明对比

  C语言中函数的声明和实现

  函数声明:

    nt sum(int a,int b);

  函数定义

    int sum(int a,int b){

    return a+b; }

  OC语言中函数习惯称之为“方法”

   方法声明:

    -(int)sum:(int) a and:(int) b;

     方法定义

    -(int)sum:(int) a and:(int )b{

    return a+b; } 

 

 

Boolean

  Boolean 类型指的是用于存储真值和假值的变量,一般用于程序流程控制.

  Boolean类型数据允许取值true false, 也可以是0或非0的整数替代truefalse ,这点和java语言不同.

 

     int main(int argc , const char * argv[] ){

    @autoreleasepool{

    //逻辑型,用于存放true() 或者fales()

      Boolean flag = true;

      if(flag==1){

        NSLog(@"xxxxxx");

      }

    }

      return 0;

    }

    BOOL也是用作逻辑判断

 

 

 

OC 中的新增异常捕捉方法

   @try .... @catch .... @finally

    格式:

    @try {

    < #statements#>

    }

    @catch (NSException *exception) { //捕捉最具体的异常类型 < #handler#>

    }

    @catch (NSException *ne) { //捕获一个比较重要的异常类型。

    }

    @catch (id ue) { //再次掷出捕获的异常。

    }

    @finally { //不管有没有异常finally内的代码都会执行。 < #statements#>

    }

 

    代码有可能抛出有可能抛出的异常是封闭在一个@ try块。 @catch()块包含为@ try 块抛出的 异常的异常处理逻辑。一个@ finally块包含代码必须执行是否引发异常与否。您可以使用@throw指令抛出一个异常,这基本上是一个对Objective – C对象的指针。你可以使用NSException对象 但不限于他们 

 

转载于:https://www.cnblogs.com/Qinsp/p/4547738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值