型別延拓符的應用

2021-07-10 12:47:23 字數 907 閱讀 4201

在開發中,開發者經常會遇到這樣的情況,例如通過tag獲取某些ui控制項時,viewwithtag方法通常會返回給我們乙個uiview型別的指標,這就需要開發者手動的強轉一下,十分麻煩。新增加的__kindof修飾符可以幫助我們解除這個煩惱。我們還從自定義的那個陣列類開刀,對其新增乙個屬性:?

1

2

3

4

5

@inte***ce myarray<__covariant> : nsobject

@property(nonatomic,strong,nonnull)nsmutablearray*array;

@property(nonnull,strong,nonatomic)nsmutablearray* viewarray;

-(void)addobject:(nonnull type)obj;

@end

建立乙個自定義的陣列物件,並向其中新增乙個uibutton,我們會看到有如下乙個警告:

這也是我們開發中常遇到的問題,對吧,以前需要強轉。但是以後就不需要了,我們在宣告這個陣列時加上乙個__kindof修飾符: ?

1@property(nonnull,strong,nonatomic)nsmutablearray<__kindof> * viewarray;

警告就消失了,很cool吧。

這個修飾符就是告訴編譯器,這裡可以返回uiview的子類指標。

關於尤拉公式證明的乙個延拓

現在,我們通過幾種不同的方法來闡述下尤拉公式的證明思想,即證明,e i 1 0.首先指數函式是定義在實數域上的,現在要延拓到複數域上,首先要定義e i,e ix是什麼,嚴格地說,這是一種定義,而且,這個定義是合理的.e ix cosx isinx,e是自然對數的底,i是虛數單位,他將三角函式的定義域...

Intent的應用型別

intent的應用型別 1 分類 1顯示意圖 一般應用在同一程序內 目標明確 2 隱式意圖 不同程序間 目標不太明確,根據字串底層去查詢 能用顯示不用隱式 2 實現過程 startactivity 底層框架 對應的activity startservice 底層框架 對應的service 3 int...

COleDateTime型別的應用

使用coledatetime類 1 獲取當前時間。ctime time time ctime getcurrenttime 2 獲取時間元素。int year time.getyear int month time.getmonth int day time.getday int hour time...