原创 修改UITabBar的背景圖片

1. UIImageView *tabBarBgView = [[UIImageView alloc] initWithFrame:_tabBarController.view.bounds]; [tabBarBgView

原创 時間戳與時間的相互轉換

目前來看時間戳是一個10位數(小數點之前) double類型的,如果是13位數,那麼需要除以1000 #pragma mark - #pragma mark timeStringFromTimeInterval 時間戳-->時間 - (

原创 Objective-C中@property與@synthesize

OC中的關鍵字,@property與@synthesize配對使用。 語法: @property (參數1,參數2) 變量類型 變量名 @synthesize 變量名 功能: 讓編譯器自動編寫一個與數據成員同名的方法聲明,

原创 NSArray詳解

- (NSUInteger)count; 獲取NSArray中對象的個數 - (id)objectAtIndex:(NSUInteger)index; 獲取NSArray中index位置的對象 - (NSArray *)array

原创 獲取設備mac地址

- (NSString *)macaddress { int mib[6]; size_t len; char *buf;

原创 NSArray的排序方法

1.sortedArrayUsingSelector (按Key值大小對NSDictionary排序) NSMutableArray *array = [NSMutableArray arrayWithObjects:

原创 EXC_BAD_ACCESS iOS內存錯誤

由於iOS5.0之前沒有自動應用計數機制,也沒有Java那樣的垃圾回收功能。我們都需要自己管理和控制對象的回收,這是一件很麻煩的事情,也是做iOS項目中最容易出現的問題。如果不掌握這些方法,調試這些問題幾乎沒有頭緒。 1、EXC_BA

原创 [解決方案]應用程序幫助導航

現在有很多應用程序第一次啓動的時候都有一個左右滑動的幫助導航,這些導航往往是介紹應用程序的新功能。 新應用在第一次啓動時或者新版本升級完第一次啓動時就顯示。 解決方法就是先檢測是不是當前版本的第一次啓動。 NSString *appFir

原创 iOS打印Debug日誌的方式

簡單介紹以下幾個宏: 1) __VA_ARGS__ 是一個可變參數的宏,這個可變參數的宏是新的C99規範中新增的,目前似乎只有gcc支持(VC6.0的編譯器不支持)。宏前面加上##的作用在於,當可變參數的個數爲0時,這裏的##起到把前面多

原创 使用Settings Bundle爲程序添加設置項

Settings Bundle是在自己的程序中建立的一組文件,利用它可以告訴設備中的Settings程序我們寫的程序有哪些設置項。用戶在Settings程序中設置好相關相關選項後回到我們自己的程序,自己的程序中的對應項也會發生相應的變化。

原创 SandBox的結構

在模擬器中運行iOS程序,都會爲該程序創建一個沙盒(SandBox)。首先聲明,我用的系統是Max OS X 10.7.3,編譯器是Xcode 4.3.2。想要找到沙盒目錄,先運行Finder,然後在Finder的菜單欄找到前往—前往文件

原创 SQLite

SQLite 裏最常用的就是 sqlite3* 類型,從數據庫打開開始,sqlite就要爲這個類型準備好內存,直到數據庫關閉,整個過程都要用到這個類型,從數據庫打開開始,這個類型的變量就代表了你要操作的數據庫。 sqlite3 *d

原创 設計模式

一、策略模式 策略模式定義了算法族,分別封裝起來,讓它們之間可以相互替換,此模式讓算法的變化獨立於使用算法的客戶。 設計原則 1.找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混合在一起。 2.針對接口編程,而不是

原创 iOS圖標尺寸總結

尺寸大小 用途 適用設備 備註 512x512 用於AppStore商品大圖顯示 無   144x144 應用程序高清圖標顯示 iPad(3代以上)   114x114 應用程序高清圖標顯示 iPhone/iPod touch(4代以上

原创 iOS手勢UIGestureRecognizer

UIGestureRecognizer是一個抽象類,定義了所有手勢的基本行爲,它有6個子類處理具體的手勢: 1.UITapGestureRecognizer (任意手指任意次數的點擊) // 點擊次數 numberOfTapsRequir