原创 Swift2到Swift3語法變化不完整總結

Swift3語法變化 Swift3和Swift2對比,更加安全和更加的面向對象了 Swift3廢棄了舊版本的C類型的GCD寫法,而換成了更加面向對象的全新的GCD寫法 DispatchQueue.global().asyn

原创 IOS串行隊列、並行隊列進行同步或者異步任務解析

IOS中GCD的隊列分爲串行隊列和並行隊列,任務分爲同步任務和異步任務,他們的排列組合有四種情況,下面分析這四種情況的工作方式。 同步任務,使用GCD dispatch_sync 進行派發任務 - (void)testSync {

原创 IOS 筆記 - navigationController delegate 劫持

UINavigationControllerDelegate 的定義如下,以及兩個常用的方法(在IOS7中又新增了幾個新的方法) UIUNavigationController.h …… @protocol UINavigationCo

原创 undeclared selector warning 警告處理

場景:使用自定義的SDWebImage緩存處理,需要調用一個SDWebImage中的一個私有方法sd_setImage:imageData:basedOnClassOrViaCustomSetImageBlock: { // 使

原创 IOS使用AVFoundation在視頻上添加字幕以及控制字幕時間

IOS在視頻上添加字幕效果的基本思路是: 使用自定義的CATextLayer文字圖層或者CAShapeLayer文字圖層,添加到視頻的Layer上創建用戶自定義的字幕效果。這兩者的區別是:CATextLayer支持設置簡單的

原创 Objective-C XML/HTML 解析器

最近因爲工作的需要,使用到HTML解析的功能,網上找到了Hpple庫,可以支持HTML的解析,不過Hpple不支持HTML節點的修改,在沒有找到更好的輪子的情況下所以打算自己在這個庫的基礎上進行擴展。這邊主要記錄下YTTHpplePlu

原创 IOS分享擴展使用JS腳本

實現一個分享擴展插件,功能是從Safari網頁中截取當前網頁的圖片內容 基本的步驟總結在下面: 1.創建一個JS文件,命名爲MyJavascriptFile.js,文件的功能是解析safari網頁內容,獲取到網頁中的所有圖片節點,解析從

原创 使用XIB自定義UIView

使用XIB+UIVIew自定義一個如下的頁面, 創建一個XIB然後添加內容(後面有XIB對應的源代碼,可以粘貼到空xib文件中生產該頁面) 創建WriterInfoView類繼承UIView,下面有WriterInfoView的實現文件

原创 UIWebView中Objective-C和JavaScript通信

JS和OC的交互,使用到JavaScriptCore這個框架,用到的類和協議有JSExport 、JSContext 網頁很簡單,只有一個button按鈕,button按鈕的事件點擊主要執行了wst.duobao('123');,wst

原创 歡迎使用CSDN-markdown編輯器

歡迎使用Markdown編輯器寫博客 本Markdown編輯器使用StackEdit修改而來,用它寫博客,將會帶來全新的體驗哦: Markdown和擴展Markdown簡潔的語法 代碼塊高亮 圖片鏈接和圖片上傳 LaTex數學公

原创 UIView 的 weak 和 strong 修飾符使用的場景

UIView 的 weak 和 strong 修飾符使用的場景 weak修飾的UIView在view調用了removeFromSuperView會從父View的subViews中刪除,而且會自動銷燬 strong修飾的UIView在vi

原创 xib和storyboard的不同點總結

xib和storyboard的不同點總結 storyboard可以有多個頁面以及定義頁面之間的邏輯關係 xib描述的是一個頁面 xib中添加CollectionView不能添加CollectionViewCell;添加TableV

原创 IOS XCTest使用異步測試

XCTest使用異步測試需要用到XCTestExpectation這個類, 首先在測試方法中創建一個XCTestExpectation對象expectation。 XCTestExpectation* exception = [self

原创 使用Nib自定義Cell的複用

自定義的單元格如下: NewFriendCell.h 文件中對應的輸出口 : #import <UIKit/UIKit.h> @interface NewFriendCell : UITableViewCell @property

原创 WKWebView OC和JS交互

網頁很簡單,只有一個按鈕,點擊按鈕會觸發一個方法,在事件的方法中通過調用 window.webkit.messageHandlers.NativeModel.postMessage({name: 'zhangyutang', age: