原创 讀SDImageView小記

讀SDImageView小記入口下載前準備工作開始下載緩存 入口 - (void)sd_setImageWithURL:(nullable NSURL *)url SDImageView做了非常好的API封裝,最終方法做了以下這

原创 [IOS] Storyboard全解析

原文地址:http://iaiai.iteye.com/blog/1493956(Storyboard)是一個能夠節省你很多設計手機App界面時間的新特性,下面,爲了簡明的說明Storyboard的效果,我貼上本教程所完成的Storybo

原创 iOS多線程編程Part 1/3 - NSThread & Run Loop

原文地址:http://www.hrchen.com/2013/06/multi-threading-programming-of-ios-part-1/ 前言 多線程的價值無需贅述,對於App性能和用戶體驗都有着至關重要的意義,在

原创 iOS多線程編程Part 3/3 - GCD

原文地址:http://www.hrchen.com/2013/07/multi-threading-programming-of-ios-part-3/ 前兩部分介紹了NSThread、NSRunLoop和NSOperation,本文聊

原创 ios7 狀態欄與導航欄佈局與ScrollView的特性分析

前言 iOS7是目前iOS史上最顛覆的一次改版。 它的出現令人興奮,因爲它將會帶我們進入一個全新的時代; 它的到來也讓我們憂心,因爲它顛覆了一切,包括我們過去做過的很多努力。 但是,相信大家樂意爲這個全新時代做更多的努力,因爲,它值得期待

原创 iOS多線程編程Part 2/3 - NSOperation

原文地址:http://www.hrchen.com/2013/06/multi-threading-programming-of-ios-part-2/ 多線程編程Part 1介紹了NSThread以及NSRunLoop,這篇Bl

原创 iOS獲取設備的序列號

    不知道是否有童鞋們做應用的時候跟我一樣,用設備的序列號來識別設備進行一些設備控制,因爲我做的是銀行內部應用,不會上APP Store,不知道這個方法是否能通過蘋果的檢測,如果有知道的童鞋,請不要吝嗇的告訴我哦~~     廢話不多

原创 CGRectInset、CGRectOffset詳解

CGRectInset 先看它的定義,是這個樣子:CG_EXTERN CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)。它是以rect爲中心,根據dx,dy的值來擴大或者縮小,

原创 ios排序算法

1.冒泡排序 O(n2) 相鄰的兩個元素比較,如果第一個比第二個大,就交換,從第一個元素到倒數第二個 - (void)BubbleSort:(NSMutableArray *)array{ for (int i = 0

原创 strong 和 weak

    參考: 內存對齊https://blog.csdn.net/sssssuuuuu666/article/details/80130632 class_getIvarLayout 和 class_getWeakIvarLayout 

原创 iOS全局變量的有趣的事

  在開發過程中,您可能經常會遇到"duplicate symbol _xxx"的錯誤,大多都是變量重複,您可能需要給某一個類的變量改名字,爲什麼會出現類似的問題呢,我做了個試驗,發現了很有意思的事情。 試驗一 case1 A.h聲明

原创 ios Benchmarking

計算代碼執行時間 第一種: CFTimeInterval startTime = CACurrentMediaTime(); CFTimeInterval endTime = CACurrentMediaTime(); endTime

原创 ios __block修飾詞底層實現原理

  注:此文章爲自己學習筆記,部分來自歐陽大哥博客https://www.jianshu.com/p/595a1776ba3a 讓我們看下代碼: //文件test.m #import <Foundation/Foundation.h>

原创 iOS觸摸事件全家桶

此文緊用於自己記錄筆記,無任何商業用途,轉載地址爲https://mp.weixin.qq.com/s/nPGJqZTkkLdMyWjHuKRCKg iOS觸摸事件全家桶 Lotheve Cocoa開發者社區 1周前 本公衆號內容均爲本

原创 NSRunLoop的退出方式

1.啓動RunLoop 通過[NSRunLoop currentRunLoop]或者CFRunLoopGetCurrent()方式可以獲取當前線程的runloop。根據蘋果文檔,啓動一個runloop有以下三種方法: - (