原创 3Dtouch 基本原理

UIApplicationShortcutItems即用3Dtouch在app圖標呼出一個菜單       實現由兩種方法:靜態菜單和動態菜單   靜態菜單是在plist中添加,優點是在第一次打開app前就生效

原创 基於SQLite3輕量級封裝,一行代碼實現增刪改查

最近寫的項目中有用到數據庫,寫了不少蛋疼的sql語句,每次都是好幾行代碼,而且每次都是重複的沒有一點技術含量的代碼,雖然也有不少基於sqlite的封裝,不過用起來還是感覺不夠面向對象! 爲了不再寫重複的代碼,花了幾天時間,基於S

原创 UITableView總結

1.協議介紹 UITableViewDataSource UITableViewDelegate(常用) 2.刷新 下拉刷新: 上拉刷新 3.搜索 4.重用 自定義cell 不使用重用方法 註冊Cell 5.

原创 Container View Controller

一.UIViewController 做iOS開發的經常會和UIViewController打交道,從類名可知UIViewController屬於MVC模型中的C(Controller),說的更具體點它是一個視圖控制器,管理着一個視圖(

原创 關於ios的性能優化

用ARC管理內存 ARC(Automatic ReferenceCounting, 自動引用計數)和iOS5一起發佈,它避免了最常見的也就是經常是由於我們忘記釋放內存所造成的內存泄露。它自動爲你管理retain和release的過程,

原创 iOS 運行時應用

一、什麼是運行時(Runtime)? 運行時是蘋果提供的純C語言的開發庫(運行時是開發中經常用到的底層技術) 二、運行時的作用? 能獲得某個類的所有成員變量 能獲得某個類的所有屬性 能獲得某個類的所有方法 交換方法實現 能動態添

原创 iOS單元測試

由於只是一些簡單實用的東西,學學還是挺不錯的。 其實單元測試用的好,開發起來也會快很多。單元測試對於我目前來說,就是爲了方便測試一些功能是否正常運行,還有調試接口是否能正常使用。有時候你可能是爲了測試某一個網絡接口,然後每次都重新啓

原创 iOS開發 Xcode8 如何適配iOS10

1.Notification(通知) 自從Notification被引入之後,蘋果就不斷的更新優化,但這些更新優化只是小打小鬧,直至現在iOS 10開始真正的進行大改重構,這讓開發者也體會到UserNotifications的易用,功能也

原创 Xcode8 及iOS10適配問題彙總

1.Notification(通知) 自從Notification被引入之後,蘋果就不斷的更新優化,但這些更新優化只是小打小鬧,直至現在iOS 10開始真正的進行大改重構,這讓開發者也體會到UserNotifications的易用,功能也

原创 iOS開發之WKWebView代替UIWebView

Xcode8發佈以後,編譯器開始不支持IOS7,所以很多應用在適配IOS10之後都不在適配IOS7了,其中包括了很多大公司,網易新聞,滴滴出行等。因此,我們公司的應用也打算淘汰IOS7。 支持到IOS8,第一個要改的自然是用WKWebV

原创 IOS 多線程,線程同步的三種方式

本文主要是講述 IOS 多線程,線程同步的三種方式,更多IOS技術知識,請登陸瘋狂軟件教育官網。   一般情況下我們使用線程,在多個線程共同訪問同一塊資源。爲保護線程資源的安全和線程訪問的正確性。   在IOS中我們一般情況下使用以下

原创 IOS UIAlertController 彈框 (ios 9.0 後代替了UIAlertView彈框 和 UIActionSheet下彈框)

在IOS 9.0 後 蘋果官方宣佈不再或不推薦使用UIAlertView 和 UIActionSheet 由UIAlertController進行代替兩者 用控制器將兩者合二爲一 很簡單 方便 下面就是關於UIAlertView的常用方法

原创 iOS - 定時器

1、初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)use

原创 不可變數組NSArray與可變數組NSMutableArray

不可變數組NSArray //創建一個空數組 NSArray *array = [NSArray array]; //這樣創建是沒有意義的. //創建只有一個元素的數組 NSArray *array1 = [NSArray arrayW

原创 iOS- 延遲1秒執行一個函數

本文列舉了四種延時執行某函數的方法及其一些區別。 假如延時1秒時間執行下面的方法。 - (void)delayMethod { NSLog(@”execute”); } 1.performSelector方法 [self perf