日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oc基本简介

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的oc基本简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。