原创 OC 單例設計

       這段時間公司基本沒有什麼業務,也正好總結總結以前用過的東西,跟大家簡單分享一下,相互學習一下。直接主題,說一下我印象中的單例設計模式,本篇主要圍繞下面4個問題說下: 1.單例是什麼? 單例就是一種常用的設計模式,就是一個類在

原创 iOS runtime運行機制

1.RunTime概念 RunTime簡稱運行時,就是系統在運行的時候的一些機制。對於C語言而說,函數的調用在編譯的時候會決定調用哪個函數,編譯完成之後直接順序執行,但是對於OC來說,函數的調用指的是消息發送,在編譯的時候並不能決定真正調

原创 UITableViewCell的分割線去除多餘15px

創建UITableView的時候,大家看到系統自帶的UITableViewCell的分割線是不會頂頭的,會有15px的多餘。有些時候需求需要分割線頂頭,也就是說沒有15px的多餘,處理掉它有兩種方式。 1.去除UITableViewCel

原创 iOS開發中的手勢總結

手勢在iOS中是非常重要的,它極大的提高了移動設備的便攜使用性。 在iOS3.2之後,系統提供了一些常用的手勢,開發者可以可以直接使用它們進行一些手勢操作,系統提供的都都是UIGestureRecognizer的子類。 常用手勢分別爲:

原创 Git常用命令

git clone "版本庫的網址" 往本地目錄clone一份版本庫 git init 初始化創建一個空的Git倉庫或重新初始化現有 git add 添加文件到git倉庫,實際上是把文件修改添加到暫存區  git reset --hard

原创 iOS 多線程編程之NSThread

1.NSThread的創建方式 a.動態方法創建/** * 創建NSThread線程 * * @param target selector消息發送的對象 * @param sel selector消息(即執行方法)

原创 iOS 仿微信標籤

一個簡單的UI,仿照微信標籤,簡單實用了ReactiveCocoa以及Masonry。可以根據文字長度計算顯示長度,也可以適應文字輸入長度根據設備寬度自動換行,效果圖如下: 下載地址:https://github.com/KityPei

原创 枚舉類型ENUM的使用

    JDK 5出現的新特性,新增的enum關鍵字用於定義枚舉類。Java中聲明的枚舉類,均是繼承自Enum。   爲什麼需要枚舉? Java的一些方法在運行時,它需要的數據不能是任意的,而必須是一定範圍內的值,此類問題在JDK5以前的

原创 iOS 多線程編程之NSOperation

一、NSOperation簡介 相對於前面所說的NSThread,NSOperation同樣用於多線程,但是相比較而言,NSOperation是更高級別的類,它大大的簡化了處理多線程的過程,但是NSOperation是一個抽象基類,如果需

原创 增強for循環

增強for循環是JDK 5.0出現的新特性,其本質與iterator遍歷的效果是一樣,也就是說增強for循環的內容就是在調用iterator來實現的。 其優點有: ① 使用增強for在遍歷過程中,不需要檢查數組的邊界,更不用擔心數組越界;

原创 iOS 沙盒機制

iOS的應用只能訪問系統爲該應用創建的區域,不可訪問其他區域,這塊區域就是沙盒(sandBox)。我們常常把一些圖片,屬性文件(plist文件)等等存在到該目錄下,以便開發中使用。 1.獲取沙盒路徑 a.獲取模擬器沙盒路徑 如果在開發中,

原创 iOS 搖一搖功能

今天查看蘋果的API文檔,突然發現搖一搖功能iOS有自帶,灰常欣喜,記錄一下。 在UIResponder中存在着這麼一套方法: //檢測到搖動 - (void)motionBegan:(UIEventSubtype)motion wit

原创 iOS Masonry介紹與使用

由於蘋果公司不斷推出新的機型,所以大家都知道iOS開發中UI佈局常常需要適配,同時也應該瞭解到蘋果設備的適配主要是4,5,6,6plus這4種設備的適配。適配的方法有代碼適配和使用xib添加約束,其中代碼適配是用到autolayout但是

原创 iOS上線流程

app最關鍵的也是整個開發流程最後一步的是上傳appstore,企業分發就不多說了,這個簡易的說明就基本不用看了,能用到的可能很少。下面直接狂奔向主題。 如果是第一次上傳app的話,需要準備生產證書,描述文件,添加app的id等,這些可以

原创 iOS 內存管理基本原則

我們知道objc中創建對象是存放在堆中的(基本數據類型除外,是由系統自己管理,並存放在棧中),系統不會自動釋放堆中的內存。如果創建完的對象存放在堆中後並使用完沒有得到及時的釋放,會佔用的內存。但是objc沒有GC(垃圾回收機制),因此需要