Time of Update: 2018-12-05
在iOS開發中,經常遇到Exec_Bad_Access異常,導致程式奔潰問題,一般這個問題都是因為過早的release對象,然後又對該對象發送訊息導致這個問題。可以通過在Xcode中設定NSZombieEnabled變數來擷取一些詳細資料。Xcode 4之前的做法是:1 在XCode介面中,雙擊Executables中的可執行檔,將會彈出一個設定對話方塊2 在Arguments選項中的下半部分“Variables to be set in the
Time of Update: 2018-12-05
ios開發使用extern訪問全域變數使用extern關鍵字法: 1 、建立Constants.h檔案(檔案名稱根據需要自己取),用於存放全域變數; 2、 在Constants.h中寫入你需要的全域變數名,但是在定義時不能對其進行初始化,否則就出錯例如: NSString *url;//指標類型 int count;//非指標類型 3 、在需要用到全域變數的檔案中引入此檔案:
Time of Update: 2018-12-05
iPhone:NSData年、月、星期、日、時、分、秒擷取及NSDataToNSString方法 在 NSDate中獲得時間資訊,年、月、星期、日、時、分和秒:NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];NSDate *now;NSDateComponents *comps = [[NSDateComponents alloc]
Time of Update: 2018-12-05
轉載自:http://blog.csdn.net/w59879213/article/details/7208288在網上搜尋了一下, 介紹UITableView分頁的文章不少, 而且都很統一, 代碼也都正確. 只是沒有把思路給整理出來. 我這裡借花獻佛, 整理一下.這裡假定的前提是, 你已經將UITableView添加到了View中, 並且在h檔案中實現了 UITableViewDelegate,UITableViewDataSource 這兩個介面,
Time of Update: 2018-12-05
1.儲存圖片的簡單方法NSData *imageData = UIImageJPEGRepresentation(image, 1.0);[NSData writeToFile: imagePath atomically:YES];儲存起來,啟動時再讀出就OK了UIImage *_image = [[UIImage alloc]initWithContentsOfFile:
Time of Update: 2018-12-05
iOS 支援多個層次的多線程編程,層次越高的抽象程度越高,使用起來也越方便,也是蘋果最推薦使用的方法。下面根據抽象層次從低到高依次列出iOS所支援的多線程編程範式:1, Thread;2, Cocoa operations;3, Grand Central Dispatch (GCD) (iOS4 才開始支援)下面簡要說明這三種不同範式:Thread 是這三種範式裡面相對輕量級的,但也是使用起來最負責的,你需要自己管理thread的生命週期,線程之間的同步。線程共用同一應用程式的部分記憶體空間,
Time of Update: 2018-12-05
設定user agent代碼如下:[ASIHTTPRequest setDefaultUserAgentString:@"MyApp 1.0"];如果不設定user agent,ASIHTTPRequest會為你建立一個。例如(Mac OS程式):My Application 1.0 (Macintosh; Mac OS X 10.5.7; en_GB)你也可以為每個request設定user agent:[request setUserAgent:@"MyApp
Time of Update: 2018-12-05
首先需要引入相關的標頭檔,引入標頭檔代碼如下:#include <sys/param.h>#include <sys/mount.h>擷取剩餘儲存空間函數如下:+ (NSString *) freeDiskSpaceInBytes{ struct statfs buf; long long freespace = -1; if(statfs("/var", &buf) >= 0){ freespace = (long
Time of Update: 2018-12-05
PageCurl類比紙書的翻頁動作效果,類似iBook的翻頁動作。項目首頁CoreTextWrapper文字排版Core
Time of Update: 2018-12-05
在程式中調用系統內建的應用,比如我進入程式的時候,希望直接調用safar來開啟一個網頁,下面是一個簡單的使用:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]
Time of Update: 2018-12-05
iOS發行應用中對異常資訊捕獲和處理 iOS開發中我們會遇到程式拋出異常退出的情況,如果是在調試的過程中,異常的資訊是一目瞭然,但是如果是在已經發布的程式中,擷取異常的資訊有時候是比較困難的。 iOS提供了異常發生的處理API,我們在程式啟動的時候可以添加這樣的Handler,這樣的程式發生異常的時候就可以對這一部分的資訊進行必要的處理,適時的反饋給開發人員。 不足的地方是,並不是所有的程式崩潰都是由於發生可以捕捉的異常的,有些時候是因為記憶體等一些其他的錯誤導致程式的崩潰,這樣的資訊是不在這
Time of Update: 2018-12-05
建立與刪除://建立檔案管理工具NSFileManager *fileManager = [NSFileManager defaultManager];//擷取路徑//參數NSDocumentDirectory要擷取那種路徑NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths
Time of Update: 2018-12-05
iOS 靜態類庫項目的建立與使用建立 Xcode workspace開啟 Xcode , 選擇 File -> New -> Workspace , 將 Workspace 命名為 Test.xcworkspace , 並選擇合適的目錄。建立 Static Library 項目選擇 File -> New -> Project , 項目模板選擇 Cocoa Touch Static Library , 項目名稱命名為 MyLib.xcodeproj , 注意選中 Use
Time of Update: 2018-12-05
1.判斷Bundle裡面的檔案是否存在-(BOOL)judgeFileExist:(NSString * )fileName{ //擷取檔案路徑 NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@""]; if(path==NULL) returnNO;
Time of Update: 2018-12-05
首先,你得監聽鍵盤的事件,最基本的兩個事件:UIKeyboardWillShowNotificationUIKeyboardWillHideNotificationUIKeyboard...iOS 5新增加了一些UIKeyboardDidChangeFrameNotification(will)一般情況下,前兩個事件已經可以完成你要做的事情。在你的事件處理方法中加上NSNotification參數可以為你獲得更多的東西:view plainprint?-
Time of Update: 2018-12-05
什麼是CategoryCategory模式用於向已經存在的類添加方法從而達到擴充已有類的目的,在很多情形下Category也是比建立子類更優的選擇。新添加的方法同樣也會被被擴充的類的所有子類自動繼承。當知道已有類中某個方法有BUG,但是這個類是以庫的形式存在的,我們無法直接修改原始碼的時候,Category也可以用於替代這個已有類中某個方法的實體,從而達到修複BUG的目的。然而卻沒有什麼便捷的途徑可以去調用已有類中原有的那個被替換掉方法實體了。需要注意的是,當準備有Category來替換某一個方
Time of Update: 2018-12-05
iOS上如何製作自己的Framework呢?(不是靜態庫)請看stackoverflow上的提問:http://stackoverflow.com/questions/4065052/how-to-build-a-framework-or-library-for-other-developers-the-secure-way解決辦法1,通過命令列指令碼http://www.cocoanetics.com/2010/04/making-your-own-iphone-frameworks/由coc
Time of Update: 2018-12-05
看了一段視頻:TAT Augmented ID,結合了Face Service、追蹤以及Augmented Reality,Amazing!相關介紹點擊這裡。遺憾的是這還只是一個概念,並沒有具體實現,不過是時間問題吧我想。所以也想來湊個熱鬧,當然不用搞得這麼複雜,基本的需求是在iOS裝置上即時的識別人臉,最好能顯示名字等資訊什麼的,注意不是檢測。本人剛接觸iOS ,下面就踏上了我漫長的探索之路。1)效果差不多像這樣,
Time of Update: 2018-12-05
淺複製和深複製的區別?//淺拷貝和深拷貝答案:淺層複製(copy):只複製指向對象的指標,而不複製引用對象本身。//通過對象的指標來訪問這個對象深層複製(mutableCopy):複製引用對象本身意思就是有個A對象,複製一份後得到A_copy對象後,對於淺複製來說,A和A_copy指向的是同一個記憶體資源,複製的只不過是是一個指標,對象本身資源還是只有一份,那如果我們對A_copy執行了修改操作,那麼發現A引用的對象同樣被修改,這其實違背了我們複製拷貝的一個思想。深複製就好理解了,記憶體中存在了
Time of Update: 2018-12-05
iphone的標準推薦CFNetwork C庫編程.但是編程比較煩躁。在其它OS往往用類來封裝的對Socket函數的處理。比如MFC的CAsysncSocket.在iphone也有類似於開源項目.cocoa