240 發(fā)簡(jiǎn)信
IP屬地:上海
  • NSString是一個(gè)特殊的類(lèi)卸伞,你可以看到打印出來(lái)的class結(jié)果顯示并不是NSString。NSString的初始化方法會(huì)通過(guò)抽象工廠模式來(lái)返回最合適的類(lèi)掖蛤,有點(diǎn)類(lèi)似NSNumber。
    對(duì)NSString來(lái)說(shuō),alloc返回的是一個(gè)用來(lái)占位的子類(lèi)NSPlaceholderString,這個(gè)子類(lèi)并沒(méi)有實(shí)現(xiàn)NSString抽象類(lèi)的各種方法矩父,例如NSString *string = [NSString alloc];之后直接調(diào)用[string length];會(huì)出現(xiàn)崩潰。

    string和newString只進(jìn)行了初始化排霉,結(jié)果都是空字符串@""窍株,這個(gè)結(jié)果在編譯期就已經(jīng)確定了,從而編譯器做了優(yōu)化讓他們指向了相同的地址。

    OC源碼 —— alloc, init, new和dealloc

    上一篇最后講release的時(shí)候說(shuō)到夹姥,在release的最后,當(dāng)引用計(jì)數(shù)減為0的時(shí)候就進(jìn)入了dealloc的過(guò)程辙诞。這一篇就來(lái)講講dealloc和相關(guān)的一些方法辙售。先從deall...

  • NSLocalizedString的一個(gè)小知識(shí)點(diǎn)

    今天在使用NSLocalizedString的時(shí)候碰到一個(gè)小問(wèn)題: 這里有兩個(gè)問(wèn)題: 中文版被兩個(gè)參數(shù)分成了4部分,英文版被兩個(gè)參數(shù)分成了5部分 參數(shù)的順序不同 第1個(gè)很好辦...

  • 120
    翻譯|如何在六個(gè)月內(nèi)學(xué)會(huì)一門(mén)新的語(yǔ)言

    這篇譯文來(lái)自于darlingtolivefully.com飞涂,作者是Marelisa旦部,這篇文章是作者在看了Chris Lonsdale的TED演講后做的一個(gè)總結(jié)。Chris的演...

  • @KylinRoc :smile:你還年輕婚度,不著急:smiley:

    搬家記

    這周在搬家。這是來(lái)上海之后第4次搬家官卡,每年一次蝗茁,聲勢(shì)愈發(fā)浩大。好在這是最后一次寻咒。 去年10月新房交付哮翘,精裝修,但是問(wèn)題一堆毛秘。到現(xiàn)在5個(gè)多月了饭寺,總算快要完結(jié)。這周末還有師傅來(lái)粉...

  • 搬家記

    這周在搬家叫挟。這是來(lái)上海之后第4次搬家艰匙,每年一次,聲勢(shì)愈發(fā)浩大霞揉。好在這是最后一次旬薯。 去年10月新房交付,精裝修适秩,但是問(wèn)題一堆绊序。到現(xiàn)在5個(gè)多月了,總算快要完結(jié)秽荞。這周末還有師傅來(lái)粉...

  • 感謝,學(xué)習(xí)到了:+1:

    OC源碼 —— autoreleasepool

    因?yàn)楝F(xiàn)在普遍使用ARC洒试,所以項(xiàng)目中幾乎看不到release這樣的字眼了倍奢,但是在一個(gè)不起眼的地方 —— main.m,有一個(gè)@autoreleasepool垒棋,本文就是要研究一下...

  • @逆轉(zhuǎn)小裁判_d178 與這個(gè)宏&一下就可以了卒煞,# define ISA_MASK 0x00007ffffffffff8ULL,這個(gè)宏就是用來(lái)獲取shiftcls的

    Runtime源碼 —— 對(duì)象叼架、類(lèi)和isa

    猶記得當(dāng)初學(xué)習(xí)C++的時(shí)候畔裕,買(mǎi)過(guò)一本侯捷老師的《STL源碼剖析》,書(shū)里的內(nèi)容基本沒(méi)看乖订,就記得最前面有句話: 源碼面前扮饶,了無(wú)秘密 類(lèi)、對(duì)象乍构、方法和屬性算是寫(xiě)OC代碼時(shí)接觸的最多...

  • 120
    探索KVO觸發(fā)通知的過(guò)程

    這兩天在研究KVO甜无,首先要吐槽的當(dāng)然是官方提供的api,用起來(lái)實(shí)在是麻煩蜡吧,所以想著封裝一下毫蚓,增加一個(gè)block回調(diào)什么的。這是成果:ZNKVOManager 寫(xiě)完之后發(fā)現(xiàn)FB...

  • Runtime源碼 —— Associated Object

    這玩意兒已經(jīng)在前面的文章里多次提到昔善,但一直沒(méi)深入元潘,這一篇就來(lái)研究研究。 runtime提供的和associated object有關(guān)的接口有3個(gè): 選第一個(gè)作為切入點(diǎn)君仆,詳細(xì)分...

  • @沒(méi)故事的卓同學(xué) :smile:翩概,謝謝

    我想做的一個(gè)改變

    從沒(méi)想過(guò)有一天我也會(huì)開(kāi)始寫(xiě)字。決定寫(xiě)這一篇是因?yàn)樽蛱炫龅揭恍┦路翟郏@些事對(duì)我感觸挺大钥庇,想記錄一下自己的想法。 我自認(rèn)為我的文字應(yīng)該還是有初中水準(zhǔn)的咖摹,如果我高估了還請(qǐng)高抬貴手不要...

  • Objective-C 小記(9)__strong

    本文使用的 runtime 版本為 objc4-706评姨。 創(chuàng)建對(duì)象 所謂創(chuàng)建對(duì)象,也就是方法名為 alloc萤晴、new吐句、copy 或者 mutableCopy 開(kāi)頭的情況,比如...

  • 120
    OC源碼 —— alloc, init, new和dealloc

    上一篇最后講release的時(shí)候說(shuō)到店读,在release的最后嗦枢,當(dāng)引用計(jì)數(shù)減為0的時(shí)候就進(jìn)入了dealloc的過(guò)程。這一篇就來(lái)講講dealloc和相關(guān)的一些方法屯断。先從deall...

  • 做一個(gè)傾聽(tīng)者

    昨晚和肥孩子吵架文虏,過(guò)程很慘烈侣诺,結(jié)果很美好。 肥孩子給我提了兩點(diǎn)意見(jiàn): 做一個(gè)傾聽(tīng)者 不再固執(zhí)己見(jiàn) 當(dāng)她提出第一點(diǎn)的時(shí)候氧秘,我是非常贊同的年鸳,原因其實(shí)就是第二點(diǎn):太固執(zhí)。對(duì)不一致的...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品