UIButton 父類是誰?
UIControl
assign weak 修飾的區(qū)別?為什么用weak修飾對象,而不用assign
assign修飾基本數(shù)據(jù),weak修飾對象
防止野指針出現(xiàn)
不使用KVO監(jiān)聽方法,如何手動觸發(fā)對象的屬性的變化
- (void)willChangeValueForKey:(NSString *)key
設(shè)置模型值 - (void)didChangeValueForKey:(NSString *)key
__block和__weak的區(qū)別
1.__block不管是ARC還是MRC模式下都可以使用,可以修飾對象,還可以修飾基本數(shù)據(jù)類型。
2.__weak只能在ARC模式下使用,也只能修飾對象(NSString),不能修飾基本數(shù)據(jù)類型(int)。
3.__block對象可以在block中被重新賦值,__weak不可以。
4.__block對象在ARC下可能會導(dǎo)致循環(huán)引用,非ARC下會避免循環(huán)引用,__weak只在ARC下使用,可以避免循環(huán)引用。
為什么block中不能修改普通變量的值?
int val = __cself->val;
因為int val變量定義在棧上,,在block被調(diào)用時實際上已經(jīng)被銷毀,但是我們還可以正常訪問這個變量,而這個變量的值實際上是__cself->val,__cself->val是截獲的變量值的副本,要想修改在block之外定義的變量是不可能的。
__block的作用就是讓變量的值在block中可以修改么?
使用__block變量修飾后,
__Block_byref_val_0 *val;
val是一個指針變量,因此可以訪問修改block外的val變量。但是出現(xiàn)一個問題就是在arc模式下,__block修飾對象會出現(xiàn)循環(huán)引用的問題,因為對象會被強(qiáng)引用一次。非arc模式下則不會出現(xiàn)循環(huán)引用的問題。
談?wù)勀銓untime的理解,有哪些應(yīng)用?
屬性weak 實現(xiàn)原理
Runtime維護(hù)了一個weak表,用于存儲指向某個對象的所有weak指針。weak表其實是一個hash(哈希)表,Key是所指對象的地址,Value是weak指針的地址(這個地址的值是所指對象的地址)數(shù)組。
網(wǎng)絡(luò)、加密、鎖,你可以自由發(fā)揮
招聘一個靠譜的iOS上
http://www.cocoachina.com/articles/12872
招聘一個靠譜的iOS下
http://www.itdecent.cn/p/90dccd24f505
大小長度粗細(xì)不均的香,燒完都是1個小時,請問怎樣才能確定是15分鐘?
1.拿兩根香,第一根兩頭同時點上,另一根指點一頭
2.當(dāng)?shù)谝桓鶡甑臅r候,正好過了半小時,從此刻開始計時,把另一個根香的另一頭點上,燒完就是15分鐘