hitTest方法底層實現 2

2021-07-08 10:16:52 字數 551 閱讀 2882

- (uiview *)hittest:(cgpoint)point withevent:(uievent *)event

// 1.2能,再接著判斷觸控點是否在自己內部

// 2.再判斷手指觸控點是否在自己內部

// 不在:返回nil

//  2.1 轉換點的座標

if (![self

pointinside:point withevent:event])

// 3.如果以上兩步成立,從後往前的遍歷自己的子控制項,看是否滿足以上兩個條件

nsintegercount =

self

.subviews.count;

for (nsinteger i = count - 1; i >=0; i--)

}// 4.如果子控制項不滿足的話,說明沒有找到合適的view處理事件,那麼就返回自己

return self; }

- (void)touchesbegan:(nsset

*)touches withevent:(uievent *)event

@end

LinkedList add方法底層實現

linkedlist底層是通過雙向鍊錶實現的。linkedlist 為空建構函式如下 可以看到,在linkedlist裡定義了乙個transient 成員變數header,其為entry型別。entry型別即為雙向鍊錶中的乙個節點或者叫元素,每個元素由三部分組成,指向前乙個節點的引用 c語言裡叫指標...

String操作方法底層實現!!!

以下 純屬個人寫著玩。為了加深理解和熟悉字串提供的方法的思路。但是我發現我寫完之後還是忘了。沒啥鳥用。分享給大家指點。大家說如果面試的話,讓面試者寫乙個字串底層方法實現思路。是否能快速寫出來。charat 方法 功能 返回指定位置的字元 引數 傳遞乙個下標 官方使用 var str abcdefg ...

對映Map的底層方法實現

字典 public inte ce mapprivate class node public node k key public node public string tostring private node dummyhead private int size public linkedlist...