原创 KVC的基礎用法和進階用法

文章目錄基本使用KVC取值過程分析賦值過程:取值過程:forKeyPathKVC異常處理 正確性驗證KVC進階用法1. KVC與字典2. KVC消息傳遞3. KVC容器操作 通過key-value來間接的訪問屬性 基本使用 成員

原创 單元測試 OCMock的基本使用

文章目錄類模擬stubbing方法運行後驗證參數約束 對一些不容易獲取到的對象,模擬出對象和返回值, 比較返回值是不是和預期的返回值一樣,如果後期不小心改動了callSomthing方法,就能檢測出來 OCMock官方 類模擬

原创 iOS XCTest單元測試

文章目錄創建單元測試的方法新建項目已有項目添加Test文件test方法test的執行順序測試斷言測試的種類普通測試性能測試異步測試代碼覆蓋率 創建單元測試的方法 新建項目 在新建立一個項目時直接勾選 已有項目 對已有的項目添加t

原创 Runtime入門(一)

早就聽說runtime很神奇,但是一直都不太明白,也不怎麼會用。只有在catagory裏添加屬性的時候纔會用到一下。 高大上的東西不會用,總是讓人難過。網上的文章很多,但是要不說的太複雜,要不說的太簡單,太碎片化了。但是還是要感謝網上的

原创 用Xib自定義一個View

1. 新建一個繼承於View的類,再建一個有view的xib文件,選中這個xib的file’s Owner,修改Custom Class . 2. 把size選成FreeForm,這樣你就可以隨意的調整View的大小了。 3.在

原创 iOS 文件操作,記錄log日誌。

先把需求發一下: • 客戶端以日誌的形式,記錄用戶的基本信息、使用環境、使用行爲等數據。 上報策略 • 程序進入後臺模式時,立即上傳緩存的日誌文件 • 按照時間,以每小時的頻率進行數據上報 • 日誌文件小於30KB時,不

原创 App之間互相跳轉 URL Schemems

準備兩個工程,要從第一個App裏跳入第二個App。 在FirstApp的ViewController添加一個按鈕,在按鈕點擊事件裏添加如下代碼 - (void)jumpToSecondApp{ NSString *urlS

原创 CocoaPods升級1.0.0碰到的問題

前段時間使用CocoaPods的時候看到可以升級1.0.0了,現在使用的版本是0.39.0,就想着什麼時候升級成最新的,沒想到今天升級的時候碰到一堆問題。還能不能讓人舒心了。 **1. 既然都給了提示了,那就按照提示來吧,在終端中輸入

原创 iOS 橫屏原生二維碼掃描 swift

需求:做一個橫屏的二維碼,條形碼讀取器,攝像頭可以選擇後置,前置攝像頭(居然還有前置,好彆扭。。) 添加AVFoundation庫 import AVFoundation 獲取設備 let deviceArr = AVCapt

原创 iOS-手勢解鎖

準備工作 新建一個類,繼承於UIView。這裏起名爲GesturesToUnlockView。所有的畫圖工作將在這個View裏完成。 從上面的圖我們可以看到,至少需要選中狀態和非選中狀態兩種圖片,以及一個好看的背景圖。 然後考慮一下

原创 函數響應式編程—ReactiveCocoa 使用入門

安裝ReactiveCocoa 新建一個OC工程,用終端進入工程目錄,使用CocoaPods安裝ReactiveCocoa。 搭建一個簡單的登陸界面 把需要用到的空間拉成屬性。準備工作就算完成了 @property (wea

原创 swift C風格語句被棄用,在未來將被刪除

前段時間接了個私活,由於項目簡單,所以就用swift來試試水。 發現原來很多方法都被棄用了。 如圖,寫個for循環都有兩個警告。 1.自增唄棄用了,swift3就會被刪除。 2.C風格語句被棄用,在未來將被刪除 以後就只能寫成這

原创 runtime(二) 修改和添加屬性

改變成員變量 (void)getIvarList { unsigned int count = 0; // 1. 獲取某個類的成員變量列表 Ivar *ivarList = class_copyIvarList

原创 ios9適配,編譯報錯修改

1.庫文件 ios9 原來的庫文件.dylib 都要替換成.tdb了,所以要把原來添加的庫文件都替換了 照着名字全部替換 2.https iOS9爲了安全考慮默認啓用https協議,而在以前,大部分app用的都是http協議。所以解

原创 iOS推送生成.pem文件給PHP後臺開發

1.- 在開發者中心下載推送證書,起個簡單的名字 “pushDisCer.cer”, 2.- 從鑰匙串裏選中推送證書,生成P12文件。輸入文件的密碼。 3.- 打開終端,進入文件所在目錄. 把.cer文件生成.pem文件。輸入代碼