iOS小筆記本

strong和weak

  • strong修飾的指針變量指向?qū)ο髸r拆撼,當指針指向新值或者指針不復(fù)存在储矩,相關(guān)聯(lián)的對象就會自動釋放,而weak修飾的指針變量指向?qū)ο螅攲ο蟮膿碛姓咧赶蛐轮祷蛘卟淮嬖跁rweak修飾的指針會自動置為nil殷勘。
    在 Objective-C 中如何實現(xiàn) KVO

KVO

  • 注冊觀察者(注意:觀察者和被觀察者不會被保留也不會被釋放)
 - (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath 
options:(NSKeyValueObservingOptions)options 
context:(void *)context;

接收變更通知

 - (void)observeValueForKeyPath:(NSString *)keyPath 
ofObject:(id)object change:(NSDictionary *)change   context:(void *)context;

移除對象的觀察者身份

 - (void)removeObserver:(NSObject *)observer 
forKeyPath:(NSString *)keyPath;

KVO中誰要監(jiān)聽誰注冊,然后對響應(yīng)進行處理昔搂,使得觀察者與被觀察者完全解耦玲销。KVO只檢測類中的屬性,并且屬性名都是通過NSString來查找摘符,編譯器不會檢錯和補全贤斜,全部取決于自己。

堆和棧

  • 棧區(qū)(stack)由編譯器自動分配釋放 ,存放方法(函數(shù))的參數(shù)值, 局部變量的值等逛裤,棧是向低地址擴展的數(shù)據(jù)結(jié)構(gòu)瘩绒,是一塊連續(xù)的內(nèi)存的區(qū)域。即棧頂?shù)牡刂泛蜅5淖畲笕萘渴窍到y(tǒng)預(yù)先規(guī)定好的带族。
  • 堆區(qū)(heap)一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時由OS回收锁荔,向高地址擴展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域蝙砌,從而堆獲得的空間比較靈活阳堕。
  • 碎片問題:對于堆來講,頻繁的new/delete勢必會造成內(nèi)存空間的不連續(xù)择克,從而造成大量的碎片恬总,使程序效率降低。對于棧來講肚邢,則不會存在這個問題壹堰,因為棧是先進后出的隊列,他們是如此的一一對應(yīng)骡湖,以至于永遠都不可能有一個內(nèi)存塊從棧中間彈出.
  • 分配方式:堆都是動態(tài)分配的贱纠,沒有靜態(tài)分配的堆。棧有2種分配方式:靜態(tài)分配和動態(tài)分配响蕴。靜態(tài)分配是編譯器完成的并巍,比如局部變量的分配。動態(tài)分配由alloca函數(shù)進行分配换途,但是棧的動態(tài)分配和堆是不同的懊渡,他的動態(tài)分配是由編譯器進行釋放刽射,無需我們手工實現(xiàn)。

UIViewController的生命周期

-[ViewController initWithNibName:bundle:]剃执;
-[ViewController init]誓禁;
-[ViewController loadView];
-[ViewController viewDidLoad]肾档;
-[ViewController viewWillAppear:]摹恰;
-[ViewController viewWillLayoutSubviews:];
-[ViewController viewDidLayoutSubviews:]怒见;
-[ViewController viewDidAppear:]俗慈;
-[ViewController viewWillDisappear:];
-[ViewController viewDidDisappear:]遣耍;
-[ViewController viewWillUnload:]闺阱;
-[ViewController viewDidUnload:];

CRC8校驗

文檔提供的代碼為:

static U8 CRC8(U8 *ptr, U8 len)
{
    U8 crc;
    U8 i;
    crc = 0;
    while(len--)
    {
        crc ^= *ptr++;
        for(i = 0; i < 8; i++)
        {
            if(crc & 0x01)
            {
                crc = (crc >> 1) ^ 0x8c;
            }
            else {
                crc >>= 1;
            }
        }
    }
    return crc;
}

轉(zhuǎn)換為iOS代碼為:

- (Byte)CRC8Result:(Byte *)bytes length:(NSInteger)length {
    Byte crc = 0x00;
    for (int k = 0; k < length - 1; k++) {
        crc ^= bytes[k];
        for (int i = 0; i < 8; i++) {
            if (crc & 0x01) {
                crc = (crc >> 1) ^ 0x8c;
            } else {
                crc >>= 1;
            }
        }
    }
    NSLog(@"crc校驗碼%@", [NSString stringWithFormat:@"%0.2hhx", (char)crc]);
    return crc;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舵变,一起剝皮案震驚了整個濱河市酣溃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纪隙,老刑警劉巖赊豌,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绵咱,居然都是意外死亡碘饼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門悲伶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來艾恼,“玉大人,你說我怎么就攤上這事拢切。” “怎么了秆吵?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵淮椰,是天一觀的道長。 經(jīng)常有香客問我纳寂,道長主穗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任毙芜,我火速辦了婚禮忽媒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腋粥。我一直安慰自己晦雨,他們只是感情好架曹,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闹瞧,像睡著了一般绑雄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奥邮,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天万牺,我揣著相機與錄音,去河邊找鬼洽腺。 笑死脚粟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蘸朋。 我是一名探鬼主播核无,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼度液!你這毒婦竟也來了厕宗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤堕担,失蹤者是張志新(化名)和其女友劉穎已慢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霹购,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡佑惠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了齐疙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膜楷。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贞奋,靈堂內(nèi)的尸體忽然破棺而出赌厅,到底是詐尸還是另有隱情,我是刑警寧澤轿塔,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布特愿,位于F島的核電站,受9級特大地震影響勾缭,放射性物質(zhì)發(fā)生泄漏揍障。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一俩由、第九天 我趴在偏房一處隱蔽的房頂上張望毒嫡。 院中可真熱鬧,春花似錦幻梯、人聲如沸兜畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膳叨。三九已至洽洁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間菲嘴,已是汗流浹背饿自。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留龄坪,地道東北人昭雌。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像健田,于是被迫代替她去往敵國和親烛卧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,135評論 30 470
  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛閱讀 1,970評論 0 7
  • 多線程妓局、特別是NSOperation 和 GCD 的內(nèi)部原理总放。運行時機制的原理和運用場景。SDWebImage的原...
    LZM輪回閱讀 2,004評論 0 12
  • __block和__weak修飾符的區(qū)別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用好爬,...
    LZM輪回閱讀 3,293評論 0 6
  • 一入烘焙深似海局雄,是每個玩烤箱,最終被烤箱所玩弄的人的最終感悟存炮。 我想買個烤箱很久了炬搭,因為我是個嗜好面包糕點類的人。...
    七七時之閱讀 246評論 1 1