我是一名ios開發者,ios底層菜鳥的高階之路30天。
-
(void
)viewdidload
//[super viewdidload];的本質
struct abc =
;objc_msgsendsuper2
(abc,
sel_registername
("viewdidload"))
;
// 區域性變數分配在棧空間
// 棧空間分配,從高位址到低位址
void
test()
例項方法的ismemberofclass和iskindofclassid person =
[[mjperson alloc] init]
;nslog
(@"%d"
,[person ismemberofclass:
[mjperson class]])
;//1 -- 判斷是不是person剛好等於[mjperson class]它
nslog
(@"%d"
,[person ismemberofclass:
[nsobject class]])
;//0
nslog
(@"%d"
,[person iskindofclass:
[mjperson class]])
;//1 -- 判斷是不是person等於[mjperson class]它或者他的父類,的父類等
nslog
(@"%d"
,[person iskindofclass:
[nsobject class]])
;//1
-
(bool)ismemberofclass:
(class)cls
-(bool)iskindofclass:
(class)cls
return no;
}
類方法的ismemberofclass和iskindofclassnslog
(@"%d"
,[nsobject ismemberofclass:
[nsobject class]])
;//0
nslog
(@"%d"
,[mjperson ismemberofclass:
[mjperson class]])
;//0
// 這句**的方法呼叫者不管是哪個類(只要是nsobject體系下的),都返回yes
nslog
(@"%d"
,[nsobject iskindofclass:
[nsobject class]])
;//1 -- nsobject的元類或者的元類 是不是[nsobject class]
nslog
(@"%d"
,[mjperson iskindofclass:
[mjperson class]])
;//0 -- mjperson的元類或者的元類 是不是[mjperson class]
//類的object_getclass是基類
+(bool)ismemberofclass:
(class)cls
+(bool)iskindofclass:
(class)cls
return no;
}
python學習歷程day15
學習內建函式 包括map,sort,repr,lambda,filter,遞迴,二分法查詢 1.map lst 1,4,7,2,5,8 def func el return el 2 func lst 或者m map lambda el el 2,lst 把後面的可迭代物件中的每乙個元素傳遞給fun...
檔案操作(day15)
呼叫函式可以使用被呼叫函式動態分配的 儲存區calloc函式也可以動態分配一組連續的 儲存區這個函式可以把所有動態分配的儲存區 內容設定成0 為了使用這個函式也需要包含stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示要 分配的儲存區個數,第二個引數表示單個 儲存區的大小 這個函式的返回...
python學習筆記 day15 作業講解
def extendlist val,list 陷阱問題,預設引數傳進去的是可變資料型別list return list list1 extendlist 10 使用的預設的,所以現在原函式中預設引數那個空列表已經變為 10 print list1 list2 extendlist 123,給lis...