概述 KVO亚享,即:Key-Value Observing秉氧,它提供一種機制掖看,當(dāng)指定的對象的屬性被修改后捕发,則其觀察者就會接受到通知。簡單的說就是每次指定的被觀察的對象的屬性被修改...
@handyTOOL 我是說失受,這邊不是切成了正方形掉落么讶泰,我想切成的正方形變成圓掉落。于是要切個圓角
iOS特效之你家玻璃碎了點擊獲取本文示例代碼 前言 最近逛博客看到了一篇帖子拂到,里面介紹了自己如何設(shè)計一套星球大戰(zhàn)主題的UI痪署,里面有一個界面破碎的特效,看著很炫酷兄旬,那篇文章的作者使用了UIDynami...
我也試過這個特效來做轉(zhuǎn)場動畫狼犯。但是我不想掉落這么生硬。首先想要的是圓角掉落领铐,可是圓角切割太耗性能了悯森。然后是切出來的大小隨機,這個實現(xiàn)了罐孝。對于圓角有啥可行的方案嗎?
iOS特效之你家玻璃碎了點擊獲取本文示例代碼 前言 最近逛博客看到了一篇帖子肥缔,里面介紹了自己如何設(shè)計一套星球大戰(zhàn)主題的UI莲兢,里面有一個界面破碎的特效,看著很炫酷续膳,那篇文章的作者使用了UIDynami...
@亮仔123 不合適改艇,運行時的運行操作看rewrite源碼分析沒有用》夭恚看rewrite源碼學(xué)習(xí)谒兄,一般都是看比如說 block, category 會被rewrite成什么樣的代碼社付,了解語言層面的知識
神經(jīng)病院Objective-C Runtime出院第三天——如何正確使用Runtime前言 到了今天終于要"出院"了承疲,要總結(jié)一下住院幾天的收獲邻耕,談?wù)凴untime到底能為我們開發(fā)帶來些什么好處。當(dāng)然它也是把雙刃劍燕鸽,使用不當(dāng)?shù)脑捫质溃矔蔀殚_發(fā)路上的一個大坑。 目...
[xx class] 和 object_getClass(xx) 實現(xiàn)是一樣的啊研。這個 rewrite 源碼成 c 代碼就能看到御滩。
對于KVO,底層應(yīng)該是交換了 NSKVONotifying_Student 的 class 方法党远,讓其返回 Student
/////////下文有誤//////////
這里要特別說明一下削解,為何打印object_getClass方法和class方法打印出來結(jié)果不同。
- (Class)class {
return object_getClass(self);
}
Class object_getClass(id obj)
{
if (obj) return obj->getIsa();
else return Nil;
}
從實現(xiàn)上看沟娱,兩個方法的實現(xiàn)都一樣的氛驮,按道理來說,打印結(jié)果應(yīng)該相同花沉,可是為何在加了KVO以后會出現(xiàn)打印結(jié)果不同呢柳爽?
打印這句話object_getClass(stu)的時候,isa當(dāng)然是NSKVONotifying_Student碱屁。
+ (BOOL)respondsToSelector:(SEL)sel {
if (!sel) return NO;
return class_respondsToSelector_inst(object_getClass(self), sel, self);
}
當(dāng)我們執(zhí)行NSLog的時候磷脯,會執(zhí)行上面這個方法,這個方法的sel是encodeWithOSLogCoder:options:maxLength:娩脾,這個時候赵誓,self是NSKVONotifying_Student,上面那個respondsToSelector 方法里面return的object_getClass(self)結(jié)果還是NSKVONotifying_Student柿赊。
打印[stu class]的時候俩功,isa當(dāng)然還是NSKVONotifying_Student。當(dāng)執(zhí)行到NSLog的時候碰声,+ (BOOL)respondsToSelector:(SEL)sel诡蜓,又會執(zhí)行到這個方法,這個時候的self變成了Student胰挑,這個時候respondsToSelector方法里面的object_getClass(self)輸出當(dāng)然就是Student了蔓罚。
神經(jīng)病院Objective-C Runtime出院第三天——如何正確使用Runtime前言 到了今天終于要"出院"了,要總結(jié)一下住院幾天的收獲瞻颂,談?wù)凴untime到底能為我們開發(fā)帶來些什么好處豺谈。當(dāng)然它也是把雙刃劍,使用不當(dāng)?shù)脑捁闭猓矔蔀殚_發(fā)路上的一個大坑茬末。 目...
感謝呀丽惭,我看英文書看得暈暈的击奶,有幸看到你的翻譯...對照著看速度起飛...
之前看了你這篇,感覺input output這種思路分割不錯术幔,昨天看到ReactorKit這個百多行的庫另萤。感覺里面的Action就是你這兒的input,Status就是output诅挑。mutaion操作就是你的vm四敞。有興趣的可以看看RxTodo這個demo
基于RxSwift的MVVMR架構(gòu)(一)思想、基本原理及初步實現(xiàn)摘要 本系列文章將詳細分析iOS的MVVMR架構(gòu)模式拔妥,并基于Swift的響應(yīng)式忿危、函數(shù)式編程框架RxSwift提供相應(yīng)的實現(xiàn)。系列共分為兩個部分: MVVMR架構(gòu)的思想没龙、基本原...
請問下搅裙,Storage封裝了網(wǎng)絡(luò)請求和數(shù)據(jù)庫操作皱卓,那么業(yè)務(wù)邏輯是在VC里做么裹芝?model是不是只是數(shù)據(jù)的表達?
Object-C代碼規(guī)范最近在整理代碼娜汁,所以將以前積累的一些代碼規(guī)范方面的知識分享出來嫂易,希望能對大家編碼時有所幫助。一個好的代碼風(fēng)格的重要性掐禁,不言而喻怜械,希望大家能重視。 下面是小編在平時積累的傅事,肯定...