原创 iOS陸哥開發筆記(三十一) (應用性能調優的建議和技巧)

注意:每在優化代碼之前,你都要注意一個問題,不要養成”預優化”代碼的錯誤習慣。時常使用Instruments去profile你的代碼來發現需要提升的方面。Matt Galloway寫過一篇很棒的如何利用Instruments來優化代碼

原创 iOS陸哥開發筆記(二十四) (C語言之內存四區和函數調用模型)

內存四區模型 流程說明 1、操作系統把物理硬盤代碼load到內存 2、操作系統把c代碼分成四個區 3、操作系統找到main函數入口執行 1、內存四區: 一個由c/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(sta

原创 iOS陸哥開發筆記(二十五) (NSCoding)

由於Sqlite數據庫的blob數據和NSData的兼容比較好,我想嘗試把一個NSArray存入Sqlite。Sqlite不支持數組的直接存儲,所以我尋找了一些數組轉化爲NSData的方法。網上大多數的解決辦法都是針對於字符數組,eg:

原创 iOS陸哥開發筆記(二十七) (同步、異步請求, GET、POST請求)

1、同步請求可以從因特網請求數據,一旦發送同步請求,程序將停止用戶交互,直至服務器返回數據完成,纔可以進行下一步操作, 2、異步請求不會阻塞主線程,而會建立一個新的線程來操作,用戶發出異步請求後,依然可以對UI進行操作,程序可以繼續運

原创 iOS陸哥開發筆記(二十二) (Mac 終端命令介紹)

OSX 的文件系統 OSX 採用的Unix文件系統,所有文件都掛在跟目錄 / 下面,所以不在要有Windows 下的盤符概念。你在桌面上看到的硬盤都掛在 /Volumes 下。比如接上個叫做 USBHD的移動硬盤,桌面上會顯示出一個硬盤

原创 iOS陸哥開發筆記(十六) (Quartz2D簡單使用二)

一、畫文字 #import "MMTextView.h"  @implementation MMTextView  - (void)drawRect:(CGRect)rect  {               // 畫文

原创 iOS陸哥開發筆記(三十) (設計模式MVC、單例、代理、KVO)

其實iOS中的設計模式有非常多,常用的就下面這四種 一.MVC設計模式(設計模式之王) MVC根據角色劃分類,涉及到三個角色: Model:模型保存應用程序的數據。 View:視圖是模型的可視化表示以及用戶交互的控件。 Con

原创 iOS陸哥開發筆記(十九) (Quartz2D圖片剪切)

1.把圖片顯示在自定義的view中 先把圖片繪製到view上。按照原始大小,把圖片繪製到一個點上。 代碼: - (void)drawRect:(CGRect)rect {     UIImage *image2 = [UIIm

原创 iOS陸哥開發筆記(二十三) (緩存機制NSUserDefaults)

NSUserDefaults可以存取一些短小的信息。比如存入再讀出一個字符串到NSUserDefaults:    但是並不是所有的東西都能往裏放的。NSUserDefaults只支持: NSString, NSNumber, NSDa

原创 iOS陸哥開發筆記(二十八) (Autolayout(VFL)一)

VFL的子視圖居中,網上搜了很多都沒找到有用代碼,自己研究出來了。代碼如下 UIActivityIndicatorView* prgrssView = [[UIActivityIndicatorView alloc] initWithA

原创 iOS陸哥開發筆記(十七) (Quartz2D圖形上下文棧)

一、Quartz2D是怎麼將繪圖信息和繪圖的屬性繪製到圖形上下文中去的? 說明: 新建一個項目,自定義一個view類和storyboard關聯後,重寫該類中的drawrect方法。 畫線的三個步驟: (1)獲取上下文 (2)繪

原创 iOS陸哥開發筆記(十四) (Quartz2D簡單介紹)

OS開發UI篇—Quartz2D簡單介紹 一、什麼是Quartz2D Quartz 2D是⼀個二維繪圖引擎,同時支持iOS和Mac系統 Quartz 2D能完成的工作: 繪製圖形 : 線條\三角形\矩形\圓\弧等 繪製文字

原创 iOS陸哥開發筆記(十八) (Quartz2D矩陣操作)

一、關於矩陣操作 1.畫一個四邊形 通過設置兩個端點(長和寬)來完成一個四邊形的繪製。 代碼:  - (void)drawRect:(CGRect)rect  {          //畫四邊形          //獲取

原创 iOS陸哥開發筆記(二十一) (百度地圖框架配置)

1. 配置info.plist文件 a. 模擬器聯網配置(Xcode7之後需要配置) "iOS9改用更安全的https的緣故"     <key>NSAppTransportSecurity</key>     <dict>