IT開發/UI設計/運營/影視特效培訓機構

400-111-8989

熱門課程

iPhone/iPad開發之:掃盲貼

  • 發布:IT培訓
  • 來源:IT學習資料
  • 時間:2018-06-29 17:01

1. #import與@class、#include三者有什么相同與不同?

在上篇文章中專門有描述

補充一點:

@class與#import區別:

@class 避免循環引用,引用多為實體類頭文件

如果在a.h里import了b.h,那么所有import了a.h的文件都會同時與b.h產生編譯依賴,一旦b.h被修改,所有應用了a.h 的文件也要被重新編譯。如果可以使用前置聲明而不是import b.h,而是用@class,就可以解除這種依賴關系,b.h被修改,只import了a.h的文件就未必需要重新編譯。

2.在頭文件中聲明類函數時,-(void)print;

開頭的負號(-)通知Objective-C編譯器,該方法是一個實例方法。其他唯一的選擇是正號(+),它表示類方法。類方法是對類本身執行某些操作的方法,例如創建類的新實例。

3.import "Fraction.m"

Fraction *mFraction;

mFraction = [Fraction alloc];

mFraction = [mFraction init];

[mFraction release];

alloc是allocate的縮寫。因為要為新對象分配內存存儲空間。

將alloc消息發送給一個類時,便獲得該類的新實例,返回值(已分配的實際Fraction對象)存儲在變量mFraction中,alloc方法保證對象的所有實例變量都變成初始狀態。但是,這并不意味著該對象進行了適當的初始化進而可以使用。在分配對象之后,還必須對它進行初始化操作:

mFraction = [mFraction init];

這里再次使用了一個并非自己編寫的方法。init方法用于初始化類的實例變量。mFraction將init消息發送給該對象自己,即,要在這里初始化一個特殊的Fraction對象,因此它是沒有發送給類,而是給了類的一個實例。(Andy注:init函數寫的好奇怪,很好奇源代碼中init里面是怎么實現的???)

4.new方法可以將alloc和init的操作結合起來,Fraction *mFraction = [Fraction new];可分配和初始化新的Fraction。

5.NSLog中%x將用十六進制格式顯示一個值,該值不帶0x,并用a到f之間的小寫字符表示十六進制數字。要使用前面的0x顯示該值,使用格式字符%#x,

rgbColor = 0xFFEF0D;

NSLog("Color is %#x\n",rgbColor);

%e,使用科學計數法顯示數值

%f,使用浮點計數法顯示

%g,系統自行正確判斷是應該使用浮點計數法還是科學計數法來顯示浮點值。

6.OC編譯器默認將所有浮點數字看做double值,若手動定義float類型值,需要在數字后面加f或F:12.5f

7.如果直接把限定詞long、long long、short、unsigned、signed放在int聲明之前,那么所聲明的整型變量在某些計算機上具有擴展的值域。例如 long int factorial;其中,long變量的具體精度是由計算機系統決定的(看計算機是多少位)

long double變量寫成尾部帶有字母l或L的浮點變量,1.233e+7L

同理在NSLog中%Lf用浮點表示法顯示long double的值,%Le用科學計數法顯示同樣的值,而%Lg將告訴NSLog在%Lf和%Le之間任選一個使用。

8.@synthesize關鍵字用于告訴Objective-C編譯器,為.h文件中聲明的實例變量生成一對設置函數方法和獲取函數方法。(setXXX(),getXXX() )。

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

上一篇:關于iphone定位的基本知識
下一篇:iPad開發:在UIWebView中自定義菜單欄

達內it學習路線?如何學好it?

學編程需要什么基礎嗎?

Python、Java、C++該學哪一個

學編程需要什么基礎嗎

  • 掃碼領取資料

    回復關鍵字:視頻資料

    免費領取 達內課程視頻學習資料

  • 視頻學習QQ群

    添加QQ群:1143617948

    免費領取達內課程視頻學習資料

Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

選擇城市和中心
江西省

貴州省

廣西省

海南省

中出人妻中文字幕无码