原创 計算緩存大小和清除緩存

計算緩存大小: - (void)setCachesLabel { UILabel * fileSizeLabel = [[UILabel alloc]initWithFrame:CGRectMake(VIEWWIDTH - 10,

原创 UIScrollview實現左右循環滑動和自動輪播

這個Demo的最初的想法是我從網上的一個簡單的例子中獲取的,加以修改,成了現在的樣子。 我們在很多時候需要一個輪播圖,比如項目中廣告的輪播。能讓scrollview自動滾動,這不是什麼困難的事,但是如果能讓scrollview朝一個方法循

原创 深入理解Tagged Pointer

前言 在2013年9月,蘋果推出了iPhone5s,與此同時,iPhone5s配備了首個採用64位架構的A7雙核處理器,爲了節省內存和提高執行效率,蘋果提出了Tagged Pointer的概念。對於64位程序,引入Tagged Point

原创 Swift中的集合類數據結構

原文鏈接:Collection Data Structures In Swift 原文日期:2015-04-21 Xcode6.3 Swift1.2 譯者:Yake 校對:shanks 定稿:numbbbbb 假設

原创 estimatedRowHeight 與 self sizing cells

estimatedRowHeight 爲什麼要引入estimatedRowHeight呢?顧名思義就是預估高度。在預估高度之前,與高度相關的屬性及方法比較常用的有以下兩個: * rowHeight:這個屬性適合用於擁有固定高度的tab

原创 Injection for Xcode

工作原理 injection通過分析上次的build日誌來得出資源文件是如何被編譯的。在這個分析結果的基礎上進行再次編譯,並將再次編譯的結果包裹到一個bundle中,然後使用動態加載器將這個bundle注入到應用當中。至此應用中已經有了某

原创 Runtime學習筆記

1.什麼是運行時(Runtime)? 1> Runtime System * 所有的iOS程序的幕後支撐着都是運行時系統 * iOS程序的方法調用都是要靠運行時系統來支持的 2> Runtime Library * 一套蘋果提供的純C語

原创 多線程學習筆記-01

多線程概念 NSThread:基本使用 現成狀態 資源搶奪 互斥鎖&原子屬性 線程間通訊 GCD:隊列&任務 GCD常用代碼&隊列的選擇 其他功能(延時,一次性執行,分組) NSOperation:簡單使用 其他功能(最大併發數,隊列的

原创 selector 與 動態綁定

selector 什麼是 selector 當你要執行一個對象的方法時,一個selector就是用來選擇這個方法的名字的,或者說資源文件被編譯時方法的唯一標識。一個selector本身什麼也做不了。它只是簡單地標明一個方法。唯一使得sel

原创 self-sizing-in-UICollectionView

給出最接近的預估大小 設置estimatedItemSize,UICollectionView需要拿這個值去設置一個初始的contentSize,所以給一個最爲接近的值,ios10中提供了一個UICollectionViewFlowLay

原创 SDWebImage基本使用

<span style="font-size:14px;">- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPat

原创 使用富文本在lable上展示不同顏色的文字,自定義label高度,自定義行間距

廢話不多說,直接上代碼 第一段代碼主要是創建富文本,並給文字賦值給label,調整文字的顏色字體行間距等 - (void)createLabel { UILabel * textLabel = [[UILabel alloc] i

原创 iOS推送過程詳解

閒得無聊集成了一下信鴿推送,首先信鴿推送的文檔裏面有很詳細的關於生成推送證書的教程,以後再要生成證書記不住過程的看它就可以了。即使你不用第三方,證書生成的過程是一樣的。推送證書生成詳細過程 注:需要強調一點的是,我在生成開發證書和發佈證書

原创 Apple Push Notification Service(蘋果推送服務)

https://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/Appl

原创 MKMapKit

1.創建地圖: _mapView = [[MKMapView alloc] initWithFrame:self.view.bounds]; _mapView.delegate = self; _mapView.