原创 使用Objective-C的+(void)initialize初始化static變量

在《Objective C類方法load和initialize的區別》一文中,我介紹了Objective-C對待+(void)initialize和+(void)load兩個方法在編譯和執行時出現的不同。而這些不同也是在使用時應該非常注

原创 WebKit的JS Binding解析

WebCore與JavaScriptCore之間使用了Proxy模式,WebCore爲JSC提供了一層binding層做爲封裝。 Webkit參照W3C Web IDL(之前稱爲Language Bindings for DOM

原创 iOS App上架流程

一、前言: 作爲一名iOS開發者,把開發出來的App上傳到App Store是必須的。下面就來詳細介紹一下具體流程。 二、準備: 一個已付費的開發者賬號(賬號類型分爲個人(Individual)、公司(Company)、企業(Enter

原创 React Native iOS環境搭建

1. 安裝Homebrew  Homebrew主要用於安裝後面需要安裝的watchman、flow  打開MAC的終端,輸入如下命令:  ruby -e "$(curl -fsSL https://raw.githubuserconte

原创 iOS9 HTTP 不能正常使用的解決辦法

Google後查證,iOS9引入了新特性App Transport Security (ATS)。詳情:App Transport Security (ATS) 新特性要求App內訪問的網絡必須使用HTTPS協議。但是現在公司的項目使

原创 Xcode 7.3 自定義類無法自動聯想的解決辦法

點擊頂部工程名 --> 左側Target --> BuildSettings -->  Apple LLVM 7.1 -Language-Objective C 下面的 Weak References in Manual Retain R

原创 iOS中 @synthesize 和 @dynamic

object-c 爲了讓Java的開發者習慣 使用.的操作,所以可以將接口類中的變量 使用@property來聲明屬性。但是在.h中聲明的屬性,必須在.m中使用@synthesize或者@dynamic來實現(在ios6中這不已經省了)

原创 ReactiveCocoa之RAC內存管理(十二)

在一開始接觸RAC的時候,我們知道RAC對於block都是copy賦值的。 @implementation RACSignal #pragma mark Lifecycle + (RACSignal *)createSigna

原创 UIWebView加載本地html

初始化控件UIWebView 第一步:在文件目錄 NSString *path = [[NSBundle mainBundle] pathForResource:@"main" ofType:@"html"]; 方式一: 從html文

原创 數據安全以及加密(詳細解釋)

1.數據安全 01 攻城利器:Charles(公司中一般都使用該工具來抓包,並做網絡測試) 注意:Charles在使用中的亂碼問題,可以顯示包內容,然後打開info.plist文件,找到java目錄下面的VMOptions,在後面添加

原创 Swift - 類初始化和反初始化方法

//: Playground - noun: a place where people can play import UIKit //init():類的初始化方法(構造方法) //使用默認構造函數 class Student

原创 ios開發中常用的幾種輔助方法

//1.Keychain本地長期鍵值存儲 //刪除 +(void)deleteStringForKey:(NSString *)aKey { NSMutableDictionary *query = [NSMutableDicti

原创 JavaScriptCore框架在iOS7中的對象交互和管理

之前一篇的文章中已經簡單入門了iOS7中新加的JavaScriptCore框架的基本用法,十分的簡單方便而且高效,不過也僅限於數值型、布爾型、字符串、數組等這些基礎類型。本文將擴展到更復雜的類型,介紹一下該強大的框架是如何讓Object

原创 Swift - 屬性觀察者(willSet與didSet)

//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" /* 屬性觀察者,類似於觸發器。用來監

原创 NSTimer導致誤差的原因

//NSTimer導致誤差的原因: /* 1、NSTimer加在main runloop中,模式是NSDefaultRunLoopMode,main負責所有主線程事件,例如UI界面的操作,複雜的運算,這樣在同一