原创 iOS原生,React Native,Cordova技術選型對比

    對於移動客戶端開發,目前主要的開發模式有兩種,分別是跨平臺開發以及原生客戶端開發。跨平臺開發通俗來講就是一套代碼同時兼容多個手機系統。原生客戶端開發就是使用官方開發語言進行開發。兩種開發模式都可以開發出企業需要的應用終端功能,但是

原创 優化的冒泡算法

    int a[13] = {};     for (int i = 0; i < 13; i++) {         a[i] = arc4

原创 百度鷹眼打包上傳失敗90087

百度鷹眼打包,通過Application Loader上傳包的時候提示一大堆錯誤,其中有一條錯誤代碼是90087。holy shit。這種情況是需要移除兩種模擬器架構。 解決方案如下。 1.從你的工程中找到BaiduTraceSDK.fr

原创 給category增加屬性

//分類的頭文件 @interface ClassName (CategoryName) @property (nonatomic, strong) NSString *str; @end //實現文件 #import "ClassNam

原创 OC中NSString對象的引用計數

廢話不多說,先上圖NSString對象的retainCount是一件很蛋疼的事情一,先看NSString對象的構造方法,通過initWithString或者stringWithString構造的,retainCount都爲-1.二,通過a

原创 子類中的self和super

先上一段代碼在上述代碼中,Dog是繼承自NSObject。但是在Dog的初始化方法當中打印super class出現的竟然是Dog因爲OC是運行時機制,在運行時,self class相當於調用了runtime中給某一個對象發消息的C函數。

原创 isa指針

在程序員眼中,萬物皆對象。所以說身爲一個程序員沒對象?開玩笑!!!!在iOS開發中我們經常會碰到各種各樣的調試方案,然後在調試的過程當中會發現每個對象都會有一個isa指針很顯然,這是我自己創建的一個RootViewController的類

原创 h5中js定時器在拖動的時候不執行

場景:在iOS app中有h5頁面,h5頁面裏有JS的定時器功能。當滑動h5的時候JS中的定時器不走。解決方案:1.將定時器放在原生當中,定時去執行需要執行的JS方法2.在測試之後(測試代碼在下面網盤裏),發現使用UIWebView會阻塞

原创 MPMoviePlayerController指定在線視頻的開始時間

有小夥伴在使用MPMoviePlayerController時遇到過這樣的問題,在播放本地視頻時,可以隨意設定開始播放時間了。但是在線的視頻就控制不了了。 經過研究,在使用MPMoviePlayerController的時候,指定視頻開始

原创 將 html代碼以文本內容的形式顯示在 label 等控件上

NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[_detailQiaoDuanModel.content dataUsingEncoding

原创 You have entered an invalid Apple ID. Your Apple ID is a numeric identifier.

自己的項目由於一直被拒絕造成現在轉到了審覈狀態,並且持續了一週。需要向蘋果去一封郵件問問什麼原因。 在itunes connect裏填好自己填的東西后發現 當我們填進去自己項目裏的Apple ID卻發現不行 You have entere

原创 函數的調用流程(針對8086CPU)

1.push參數入棧(64位cpu 老子通用寄存器多,任意使用。寄存器不夠使用的前提下再說入棧)2.call指令調用(同時將下一條指令的地址入棧)3.保護bp寄存器,將sp的值賦給bp4.提升sp指針(擴容空間,爲局部變量騰出空間。使用方

原创 iOS,頁面內button防止同時點擊的解決方案

有的夥伴遇到過一些需求,一個頁面內有很多個button。按照一般邏輯來說點擊button觸發的方法都不盡相同。但是測試很蛋疼的倆手指頭同時按兩個button。這就出現了所謂的bug。怎麼解決呢。 其實button有個屬性是exclusiv

原创 KVC底層實現

原文 點擊打開鏈接KVC運用了一個isa-swizzling技術. isa-swizzling就是類型混合指針機制, 將2個對象的isa指針互相調換, 就是俗稱的黑魔法.KVC主要通過isa-swizzling, 來實現其內部查找定位的.