前言 ??在經過頻繁的業(yè)務開發(fā)后,我們一般對NSString的認知會固定在:NSString類型一定會使用copy修飾符來修飾,實際真的是這樣嗎?為什么要用copy來修飾呢?...
前言 ??在經過頻繁的業(yè)務開發(fā)后,我們一般對NSString的認知會固定在:NSString類型一定會使用copy修飾符來修飾,實際真的是這樣嗎?為什么要用copy來修飾呢?...
目前是否只有module可以打包,plugin跟package形式的是否也可以打包后在module中依賴使用?
Flutter Module 打包aarFlutter Module 打包aar Flutter 版本1.17.1 Google 方式打包aar flutter build aar 這種方式打出來的aar包并沒有把...
Label尺寸自適應與AutoLayout問題小結 一般我們寫UILabel等控件的自適應代碼為 這樣寬度和高度就可以自適應,但是在label的水平方向和豎直方向有其他控件的...
進行str = sourceStr操作時,內部會執(zhí)行一個操作:
str = [sourceStr copy];
那么這個copy里面做了什么呢?
if ([str isMemberOfClass:[str class]])
請問下怎么看這個copy的set是怎么實現(xiàn)的呢,如何知道內部是這么處理的呢?
NSString到底是用copy還是strong?本質上來講,copy和strong都沒有錯,但不是說,NSString用copy就一定是最好的. 那么,什么時候用copy,什么時候用strong呢? 首先,為什么要用cop...
進行str = sourceStr操作時,內部會執(zhí)行一個操作:
str = [sourceStr copy];
# 那么這個copy里面做了什么呢?
if ([str isMemberOfClass:[str class]])
請問下,怎么查看這個實現(xiàn)呢,怎么知道內部是這么操作的呢
【iOS】分析NSString使用copy還是strong本質上來講,使用copy和strong都沒有錯,但不是說NSString用copy就一定是最好的 那么,什么時候用copy,什么時候用strong呢?首先為什么要用copy?...
@RUNNING_NIUER 沒問題的,我斷點打的不對,在viewDidLoad中調用的地方打的
Runloop的內部結構與運行原理什么是Runloop Runloop顧名思義,就是運行循環(huán)。首先它根程序運行過程有關系,其次它是一種轉圈圈的效果。但如果這么解釋,恐怕誰都聽不懂。 想要弄明白Runloop,...
iOS7之后的導航欄與控制器原點坐標問題 ??簡單記錄關于iOS7之后有導航控制器的控制器view原點坐標問題(view可能會被導航欄遮蓋的問題)。 無UIScrollVie...
@Go丶Pikachu 可以看看你是怎么替換的么
iOS app內埋點切面的分析思路(基于swift3)前言 埋點統(tǒng)計在項目中還是比較常見的,可以用來分析用戶的習慣,從而有針對性的去優(yōu)化app。傳統(tǒng)的做法就是在每個具體的事件觸發(fā)的地方進行埋點,這種方法比較機械,更多的是一項體力...
iOS導航欄透明平滑過渡的簡單實現(xiàn) 前言 ??項目中有時候需要某些導航欄看起來是透明的,但上面的item按鈕還是存在的,那么要怎么比較快速又簡單的實現(xiàn)呢?今天就來做個嘗試,供...
swift下使用runtime交換方法的實現(xiàn) 前言 ??老的方式initialize現(xiàn)在已經不適用了,需要用新的方式代替。思路: 定義一個啟動的協(xié)議,在app完成啟動的方法里...
檢查下你的代理是否設置正確
iOS app內埋點切面的分析思路(基于swift3)前言 埋點統(tǒng)計在項目中還是比較常見的,可以用來分析用戶的習慣,從而有針對性的去優(yōu)化app。傳統(tǒng)的做法就是在每個具體的事件觸發(fā)的地方進行埋點,這種方法比較機械,更多的是一項體力...
@Go丶Pikachu 有的,上代碼
1. 創(chuàng)建一個swizzle注入的協(xié)議
```
public protocol SwizzlingInjection: class {
static func inject()
}
```
2. 創(chuàng)建swizzle helper
```
open class SwizzlingManager {
//只會調用一次的方法
private static let doOnce: Any? = {
UIViewController.inject()
return nil
}()
open static func enableInjection() {
_ = SwizzlingManager.doOnce
}
}
```
3. 給UIApplication 創(chuàng)建分類調用那個一次方法
```
extension UIApplication{
open override var next: UIResponder?{
SwizzlingManager.enableInjection()
return super.next
}
}
```
4. 在你需要的類中遵循注入協(xié)議
```
extension UIViewController: SwizzlingInjection{
public static func inject() {
//確保不是子類
guard self === UIViewController.self else { return }
DispatchQueue.once(token: "com.moglo.urmoji.UIViewController") {
//do swizzle method
}
}
}
```
iOS app內埋點切面的分析思路(基于swift3)前言 埋點統(tǒng)計在項目中還是比較常見的,可以用來分析用戶的習慣,從而有針對性的去優(yōu)化app。傳統(tǒng)的做法就是在每個具體的事件觸發(fā)的地方進行埋點,這種方法比較機械,更多的是一項體力...
mdwiki api文檔編輯器使用 歡迎大家關注我的個人博客 Step one 環(huán)境要求 Install node.js >= 0.10 and npm (if not in...
iOS extension app 問題總結 歡迎大家關注我的博客 extension app 中使用 主項目中文件中的函數(shù) ??場景: 當開發(fā)一個項目的時候建了很多一些全局...
準備工作 也可以關注我的個人博客 a. 購買一個屬于自己的域名 ??國內的話直接上阿里云購買即可,國外的話著名的有GoDaddy和name b. 準備一臺自己的服務器(或者g...
前言 也可以關注我的個人博客 ?這里摘錄下laravel5.5教程的認證文檔,做個總結,方便今后查閱。 安裝passport 使用 Composer 依賴包管理器安裝 Pas...