Time of Update: 2018-07-25
iOS中有三種方式來實現Regex的匹配。現在將他們都記錄在這裡: 1.利用NSPredicate(謂詞)匹配 例如匹配有效郵箱:
Time of Update: 2018-07-25
+ (CGFloat)heightForContent:(MyMsgTextModel *)content withWidth:(CGFloat)width{ CGSize contentSize; if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
Time of Update: 2018-07-25
SData 轉換成UIImage NSData*imageData =[NSData dataWithContentsOfFile: imagePath]; UIImage *aimage =[UIImage imageWithData: imageData]; 從UIImage轉換到NSData類型 //sdk中提供了方法可以直接調用
Time of Update: 2018-07-25
在項目中,有時候比較兩個對象是否相等時,只是比較內容,而不是必須為同一對象。 而nsobject提供的isequal 判斷是否為同一對象。系統的nsstring, nsarray等,都已重寫isequal方法。
Time of Update: 2018-07-25
以儲存圖片為例: 1. 儲存 /** * 儲存帳戶圖片 */+ (NSString *)saveUserImage:(UIImage *)image{ NSString *url; // 擷取document路徑 NSArray *document = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path =
Time of Update: 2018-07-25
weak屬性的特點: weak 表明該屬性定義了一種“非擁有關係” (nonowning relationship)。 為weak屬性設定新值時,設定方法既不保留新值,也不釋放舊值。 同assign類似,然而在屬性所指的對象釋放時候,屬性值也會清空(nil out)。 runtime是如何? weak 變數的自動置nil。 weak 對象會放入一個 hash 表中。 用 weak 指向的對象記憶體位址作為 key,當此對象的引用計數為0的時候會 dealloc。 假如
Time of Update: 2018-07-25
iOS常見錯誤9-UITableView,UIScrollView,UICollectionView位移20像素 在iOS7之後的系統裡有滾動視圖的時候,比如UITableView,UIScrollView, UICollectionView的時候有時候會位移20像素。 我們可以判斷一下系統再進行設定 if ([[UIDevice currentDevice] systemVersion].floatValue>=7.0) {
Time of Update: 2018-07-25
iOS常見錯誤8-Missing iOS Distribution signing identity for “XXXXX”. Xcode can request one for you. 這是因為蘋果的WWDRCA認證2016年2月14日失效 開啟鑰匙鏈,點擊顯示-顯示已到期認證 刪除掉到期的認證 從網址: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
Time of Update: 2018-07-25
做項目的時候肯定會遇到圓形圖片的展示。 使用UIButton來展示圓形圖片,方便以後加點擊事件,並且通過圓角的設定來達到圓形圖片的目的。 很簡單,直接看代碼吧: //頭像private UIButton _headerImg = null;public UIButton HeaderImg{get{if (_headerImg == null){_headerImg = new UIButton();_headerImg.SetImage(HeadUIImage,
Time of Update: 2018-07-25
/** * 檢測版本升級需要用到的參數 */ iFeverAPPID = @"1076057848”; //appId; //調用檢測版本更新的方法 [selfcheckVersion];
Time of Update: 2018-07-25
對於iOS項目開發來說,一個清晰、合理、易於維護的項目結構目錄對於多人協作的開發,也是一件非常重要的事(注意:務必讓xcode的工程目錄和實際的檔案目錄一致,否則難以管理)。 這裡以一個MVC架構的iOS項目(包括iphone端和ipad端,開發技術包括native和hybrid)為例(其他架構在子目錄下相應增加個別檔案夾即可),給出一個項目結構目錄參考圖示。
Time of Update: 2018-07-25
分好viewwillappear和viewdidload,還有viewdidload這些方法,注意好順序 要不然就會造成,想要等tableview載入完在請求重新整理資料,但是卻先請求重新整理資料,然後Tableview再載入顯示出來。。。 以下是正確的寫法 上邊的寫法:
Time of Update: 2018-07-25
當需要發送一個本地推送的時候,我們需要為其設定fireTime即發送時間,網上好多範例程式碼只是簡單地將一個類似10秒之後的時間設上去,但我們可能更需要在自訂或使用者定義的某個特定的時間發送,其實這也不難,算是OC的知識點了——對常用類之時間類的運用。 首先我們需要一個具體的時間Date,我們就根據這個時間來將其拆分。這個時間通常來自使用者設定的時間。 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
Time of Update: 2018-07-25
近期在項目中有一個需求是:8秒鐘內如果使用者沒有跟螢幕發生互動則提示一下使用者。 經過google和實踐找到一種實現方法步驟如下: 1.讓AppDelegate繼承UIApplication而不是UIResponser。 2.重載sendEvent方法。 - (void)sendEvent:(UIEvent *)event{ [super
Time of Update: 2018-07-25
程式員每天接觸最多的就是對象(自己主動New的)和bug,而在開發中掌握一些調試技巧是很有用的,今天工作中遇到了一個bug搞得心好累,晚上就寫一點自己調試中會用到的方法。 Apple的編譯器是LLVM,編譯器在開發中會協助我們很多,就像記憶體管理現在我們可以設定編譯器的ARC為有效狀態,這樣我們就在也不用像原來那樣苦逼的進行記憶體管理了。 所以就先講一個和編譯器有關的調試技巧 一.LLDB調試命令
Time of Update: 2018-07-25
當開發人員做好一個應用程式之後,需要大量的測試,可能開發人員手裡沒有全部版本的手機,這時候就需要周圍朋友幫忙測試,下面介紹一下程式的安裝方法。 首先,手機擁有者需要先把標識符(UDID)傳給開發人員。 手機串連到itunes上: 然後開發人員把手機添加到測試手機驅動內。 第二、開發人員需要傳遞兩個檔案給測試者。 一個是項目的ipa檔案,一個是mobileprovision檔案,如下圖:
Time of Update: 2018-07-25
做SDK開發引入AFNetworking那麼多的檔案不太合適,所以這幾天在精簡AFNetworking,並共用中github上,https://github.com/yjh4866/SimplifiedAFN。 看AFN源碼的AFURLConnectionOperation.m檔案時發現一處代碼如下: __weak
Time of Update: 2018-12-03
1.添加調試控制在Executables中的Arguments添加3個變數,並設值YESNSZombieEnabledMallocStackLoggingMallocStackLoggingNoCompact在gdb:(格式: shell malloc_history <id> <address>) shell malloc_history 1436 0x5f7fcf02.編譯時間報 Command
Time of Update: 2018-12-03
MPMoviePlayerController 並不是繼承自 UIViewController SDK 中的例子使用的是 addSubviews 的方式來添加 MPMoviePlayerController.view 在 UIWebView 中響應事件,然後調用 [MPMoviePlayerController play] 是什麼也看不到的。 最方便播放視頻的方法是使用 UIWebView 來載入一個 NSURL, 也就是視頻的地址。 如: self.webView =
Time of Update: 2018-12-03
viewController 不響應橫豎屏轉換相關訊息的問題羅朝輝(http://blog.csdn.net/kesalin)轉載請註明出處有同學在 CocoaChina 上提出這樣一個問題:A viewController 中包含一個 B viewController(B 的 view 作為 A 的 view 的 subView),在橫豎屏轉換時,A 可以得到旋轉螢幕相關的訊息(如:shouldAutorotateToInterfaceOrientation),而 B 卻得不到,即使 A,B