oc基礎(chǔ)知識(shí)回顧

oc基礎(chǔ)知識(shí)回顧

1.import的作用

    #import < >  包含系統(tǒng)庫的頭文件
     #import " "  包含自定義的頭文件
 #include和#import區(qū)別
當(dāng)我們?cè)诖a中使用兩次#include的時(shí)候會(huì)報(bào)錯(cuò):因?yàn)?include相當(dāng)于拷貝頭文件中的聲明內(nèi)容,所以會(huì)報(bào)重復(fù)定義的錯(cuò)誤
但是使用兩次#import的話,不會(huì)報(bào)錯(cuò),所以他可以解決重復(fù)導(dǎo)入的問題,他會(huì)做一次判斷,如果已經(jīng)導(dǎo)入一次就不導(dǎo)入了

2.OC中的數(shù)據(jù)類型

     1.基本數(shù)據(jù)類型:int float char double,BOOL等
     2.對(duì)象類型:NSString、NSArray、NSDictionary、NSSet、NSObject等
     //NSObject 時(shí)所有類的父類
     3、id類型,可以是任意類型的對(duì)象類型
     在oc中所有的類必須有父類

3.NSArray和NSMutableArray不同

    NSArray 不可變數(shù)組,指的是某一個(gè)數(shù)組中的元素順序、個(gè)數(shù),聲明的變量的指針是可以改變的(重新賦值)
    NSMutableArray 變量,變量的指針和數(shù)組中的內(nèi)容都是可以改變的
    OC中編譯階段能否調(diào)用某一個(gè)方法只看指針類型,是否可以真正執(zhí)行某一個(gè)方法,在運(yùn)行時(shí)決定,只看對(duì)象或?qū)ο蟮母割愔袝駥?shí)現(xiàn)方法,如果有就能成功運(yùn)行,沒有就會(huì)失敗

4.static 作用
使用static 的變量在這個(gè)程序運(yùn)行期間都會(huì)被保留,使用static 修飾變量,變量的值會(huì)在函數(shù)運(yùn)行結(jié)束以后,一直被保留,直到程序退出,聲明和賦值 static int a = 0 這行代碼只會(huì)被執(zhí)行一遍
5.結(jié)構(gòu)體
定義結(jié)構(gòu)體:struct 結(jié)構(gòu)體名{成員數(shù)據(jù)類型1 成員名1;成員2數(shù)據(jù)類型 成員名2;...}

struct Person{
      char * name;
      int age;
 };
  // 聲明一個(gè)--結(jié)構(gòu)體變量--- 及初始化
  struct Person p = {"name",15};
  //訪問結(jié)構(gòu)體成員
   p.name = "范冰冰";
   p.age = 35;
   NSLog(@"name = %s, age = %d",p.name,p.age);
  //---結(jié)構(gòu)體指針----的聲明和賦值
   struct Person *p1 = &p;
   p1->name = "劉亦菲";
   p1->age = 18;
 ---常用方式--------
//定義結(jié)構(gòu)體的同時(shí)取別名為Student1,實(shí)際上是用Student1 代替 struct Student
  typedef struct Student{
         char* name;
         int age;
          char * subject;
   }Student1;
//聲明該結(jié)構(gòu)體類型的變量
   Student1 s2 = {"小麗",10,"語文"};

6.枚舉

    枚舉:是將有規(guī)律并且取值有限種的幾個(gè)值整合到一起,定義為一種數(shù)據(jù)類型
enum Direction{
            Top = 1,
            Left,
            Bottom,
            Right
        };
  //定義枚舉變量
   enum Direction ddd = Left;
    ---常用方式--------
  //給枚舉類型取別名 MyDirection 代替 enum Direction 常用
       typedef enum Direction MyDirection;
       MyDirection ccc = Bottom;
        typedef enum EnumName{
          baicai = 0,
            doufu,
            htc,
            apple
        }NewName;
        //聲明枚舉變量
        NewName cai1 = apple;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,969評(píng)論 19 139
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,890評(píng)論 1 10
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評(píng)論 18 399
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,211評(píng)論 30 472
  • 臨近12點(diǎn),你卻躺在床上遲遲不能入睡,而是不知疲倦的刷著手機(jī)!想堅(jiān)持跑步鍛煉,卻斷斷續(xù)續(xù)堅(jiān)持不下去!每天下班到家就...
    鑫澤閱讀 834評(píng)論 1 23