今天翻到很久以前自己在網易部落格上寫的這篇文章,驚奇地發現自己都忘記了裡面的一些內容。所以我又重新學習了一下,然後改了改內容,挪到這裡。
steffen itterheim在他的部落格中總結了 objective-c 2.0 所有的編譯器保留字,並且對這些保留字做了介紹和使用示例。這些保留字如下:
@class我把這些保留字過了一遍,發現很少用到的有 @dynamic @defs @encode @compatibility_alis,所以就給大家介紹一下這幾個關鍵字吧。@defs
@protocol @required @optional @end
@inte***ce @public @package @protected @private @property @end
@implementation @synthesize @dynamic @end
@throw @try @catch @finally
@synchronized @autoreleasepool
@selector @encode
@compatibility_alias
@」string」
@dynamic 是相對於 @synthesize的,它們用樣用於修飾 @property,用於生成對應的的getter和setter方法。但是@ dynamic表示這個成員變數的getter和setter方法並不是直接由編譯器生成,而是手工生成或者執行時生成。
示例如下:
1234567
@implementation
classname
@synthesize
aproperty
,bproperty
;@synthesize
cproperty
=instancevariablename
;@dynamic
anotherproperty
;// method implementations
@end
@defs 用於返回乙個objective-c類的struct結構,這個struct與原objective-c類具有相同的記憶體布局。就象你所知的那樣,objective-c類可以理解成由基本的c struct加上額外的方法構成。
示例**如下:
1
struct
你可能會想,什麼情況下才會需要使用這個關鍵字。答案是涉及非常底層的操作或優化的時候才會用到。像如這篇討論objective-c如何做快取優化的文章中,就用到了該關鍵字。
示例如下:
1234567
8910
-
(void
)amethod
@compatibility_alis 是用於給乙個類設定乙個別名。這樣就不用重構以前的類檔案就可以用新的名字來替代原有名字。
示例如下:
1
@
compatibility_alias
aliasclassname
existingclassname
五一節到了,祝大家節日快樂!
posted by 唐巧
apr 29th, 2013 ios
那些被遺漏的Objective C保留字
steffen itterheim是 他在他的部落格中總結了 objective c 2.0 所有的編譯器保留字,並且對這些保留字做了介紹和使用示例。位址是 需要 這些保留字如下 我把這些保留字過了一遍,發現之前沒有聽過的有 dynamic encode compatibility alis,所以就...
可能被遺漏的https與http的知識點
例如在github pages頁面,這是乙個https頁面,如果在這個頁面向http傳送請求,那麼會直接被瀏覽器拒絕,並在控制台輸出下面的報錯資訊。jquery 1.11.3.min.js 5 mixed content the page at was loaded over https,but r...
那些被遺忘的cctype函式
這些函式都在cctype標頭檔案定義 isalnum c 如果c是字母或數字,則為true isalpha c 如果c是字母,返回true iscntrl c 如果c是控制字元,返回true isdigit c 如果c是數字,返回true isgraph c 如果c不是空格,但可以列印,返回true...