91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Objective-C(1) 認識一下吧

發布時間:2020-06-25 11:29:16 來源:網絡 閱讀:627 作者:ymanmeng123 欄目:移動開發
  • Objective-C的簡歷

    Objective-C(1) 認識一下吧

歷史背景

     20世紀80年代初 Objective-C誕生

     1988年 NeXT開發了Objective-C語言庫

     1992年 GNU增加了NeXT公司的Objective-C的支持

     1996年 蘋果收購NeXT,并更名為Cocoa

     2004年 Mac OS X 以“NS”作為前綴

     2007年 蘋果公司發布了Objective-C 2.0

    經過多年的發展,Objective-C和Cocoa已演化成一個功能強大的工具集。

OC的特點:

    兼容性 :是一種面向對象的C語言,可以有C和C++語句,可以調用C的函數,也可以通過C++對象訪問方法。

    類 :定義類是基本能力,OC的類聲明和實現,包括接口部分和實現部分。

    方法 :定義方法也是它的基本能力,OC中的方法是通過[]運算符進行調用,有時也稱作“消息發送”。

    屬性 :是OC2.0提出的概念,替代對成員變量訪問的“讀取方法(getter)”和“設置方法(setter)”的手段

    協議 :OC中來的協議類似于Java中接口或C++的純虛類,只有接口部分定義沒有實現部分

    分類 :OC中的分類類似于繼承機制,通過分類能夠擴展父類的功能。

OC的缺點:

     OC的最初版本并不支持垃圾回收

     OC不包括命名空間機制

     OC不支持運算符重載    

     OC不支持多繼承

     故,OC不是一個完全面向對象語言


  • Objective-C源文件

     在Mac OS X下使用XCode進行開發

     Xcode通過.m擴展名表示文件使用的是OC代碼(可以嵌入C語言)

     如果需要嵌入C++的代碼,則擴展名應為.mm。。


  • 編寫Hello World

學習一種新的語言的第一步就是要輸出 Hello World。,使用XCode創建一個新的Mac OS的控制臺項目。

將main.m中的代碼更改為如下:

     #import <Foundation/Foundation.h>

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

     {

          NSLog(@”Hello World, Objective-C!”);

          return 0;

     }

import關鍵字:

     OC使用import關鍵字來代替include關鍵字包含頭文件。

     優點:import本身即可避免頭文件的重復包含。

     其他方面和include一樣

Foundation框架:

     Foundataion是Cocoa中的一個框架。

          簡單理解框架就是庫,包含了一些列的頭文件、源文件、圖像文件、聲音文件等。

          Apple公司將Cocoa、Carbon、QuickTime和OpenGL等技術作為框架提供。

     Foundation框架處理的是用戶界面之下的層(layer)的特性,如數據結構、通信機制等。

          包括了各種基本數據類型、集合、操作系統服務的類

          包含了集中設計模式和機制,以便設計出更健壯和高效的Objective-C程序

          

NSLog函數:

     NSLog是Foundation框架中提供的一個函數。

     提供了日志形式的輸出,類似于C中的pringf

     該輸出會自動加上日期等信息以及自動換行的

OC中的@:

     表示后面是一個OC的對象

     @“"用于描述一個OC字符串常量

     OC字符串的類型是NSString,是Foundation框架中的一個類

     在NSLog中使用%@輸出一個OC對象


  • 其他基本元素說明

布爾類型:

     布爾類型用于描述“真”、“假”, 類型為BOOL,其值可為 YES  NO

     typedef signed char BOOL;

     #define YES (BOOL)1

     #define NO (BOOL)0

OC對象指針類型:

     void *    任意類型的指針

     id          OC的對象指針

     instancetype  和id類似,用于構造方法的返回值類型

OC中的“空”:

     NULL   對應普通指針變量的空地址

     nil         表示OC對象指針的空地址

     Nil         表示OC類對象指針的空地址


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深州市| 张掖市| 鹰潭市| 南安市| 巴塘县| 石渠县| 芦溪县| 和田市| 山东省| 海原县| 四子王旗| 沈丘县| 改则县| 县级市| 武平县| 康定县| 喀什市| 阜康市| 景东| 石林| 峨山| 彰化市| 巴楚县| 施秉县| 谷城县| 德昌县| 慈溪市| 图片| 哈密市| 昌乐县| 武强县| 南部县| 阳信县| 陇西县| 枝江市| 房产| 石棉县| 盐山县| 获嘉县| 周至县| 沛县|