原创 openwrt下的常用linux指令

ssh 1.生成rsa ssh-keygen -t rsa 2.查看ssh信息 $ ls ~/.ssh/ id_rsa id_rsa.pub known_hosts 3.上傳公鑰pub到遠程服務器: [本質是將 .pub 文件複製到

原创 openwrt transmission配置

我的思路是路由器掛在一塊額外的大硬盤作爲局域網下的共享硬盤,讓後把文件下載到共享硬盤裏面。 1.找到要掛載的硬盤 首先我們要知道我們要掛載硬盤的位置,先進到終端內部(不知道如何進入的請回復帖子提問,我後續更新,不會有人不會吧,不會吧)。 講

原创 Swift泛型-關聯類型問題

今天寫代碼遇到一個泛型問題。我簡單描述下場景: 對象A和B公用一種類型的屬性(或者方法),這時候根據面向協議的原則,將屬性抽取成協議,然後再約束泛型。代碼如下 struct PageAModel: Rule { // 對象特異性 } pr

原创 Appium使用

安裝 https://www.jianshu.com/p/eec62494a5b0 使用前注意 測試App在真機上調試滿足以下幾點: 1.設置>開發者>Enable UI Automation 打開; 2.源碼導入Xcode; 3.需要

原创 [Brief] Xcode代碼拼寫檢查

日常開發過程中我們經常因爲拼寫而產生一些低級問題,這樣很影響開發者的面子問題。實際上Xcode現在已經提供了一種(比較弱的)拼寫檢查功能。使用這種功能可以幫助我們檢查絕大部分拼寫問題,如果要求更高的話可以使用Appcode. 在Xcode勾

原创 [Brief] iOS atomic內部實現

首先我們要找到runtime源碼 runtime源碼地址 全局搜索atomic可以找到objc-accessors.mm文件,一看名字就是取值相關作用的文件。如下圖 第55行可以看到進行了一次判斷,如果是 非atomic的情況直接返回。

原创 KVO的本質-另附runtime代碼實現

先上簡單的背景代碼: @interface ViewController () @property(nonatomic, strong) Dog *dog; @end @implementation ViewController - (v

原创 方法異常捕獲轉發的流程

引入例子 @interface Person : NSObject - (void)logString:(NSString *)str; @end @implementation Person @end Person聲明瞭一個方法但

原创 shell腳本學習001

前言 作爲一個非科班出身的開發工程師,需要惡補的學科和知識其實還是很多的,計算機網絡,算法,數據結構等等。做iOS很久最近想到一個問題,當我們寫模型的,面對文檔的一大串json,要手寫建造模型其實是一件很浪費時間的事情(當然了,聽說oc可以

原创 適配iPhoneXS max和iPhoneX R的方法示例

這篇文章主要介紹了適配iPhoneXS max和iPhoneX R的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 9.18更新:經測試發現iOS12修改了非劉海屏safeAr

原创 跨Navigation跳轉(類似微信)方案二

作用同方案一(http://www.jianshu.com/p/f8befb7304db) 但是代碼和原理更加簡單 情景 Nav1下的A --push—>B B —Push—>C,但是C是再Nav2下的 原理: 1.在(B —Push—

原创 [iOS]scrollView嵌套多個tableView仿新浪微博個人主頁實現

前言 實際開發過程中,總會使用到新浪微博個人主頁這種頁面形式。下面是我的實現思路和過程。 頁面介紹講解 圖一默認狀態 圖一默認狀態 圖二置頂狀態 圖二置頂狀態 如 圖一默認狀態 個人主頁我們分成兩大區域綠色(A)

原创 生成動態庫.dylib文件

自己網上教程找了一大堆,亂七八糟看都看不懂,這裏自己做個學習筆記吧。 1.準備一個framewrok。 2.找到工程文件ABCD.xcodeproj郵件顯示包內容,得到圖二,並打開project.pbxproj文件; 圖1

原创 適配iPhoneXS max和iPhoneX R

9.18更新:經測試發現iOS12修改了非劉海屏safeArea的值! 拿iPhone6豎屏情況下爲例iOS11中返回的safeAreaInsets爲(0,0,0,0);iOS12中返回的safeAreaInsets爲(20,0,0,0)

原创 跨Navigation跳轉(類似微信)方案一

下面是方案一,不推薦使用,在我們的項目(項目比結構較複雜)時候一段時間後發現了一個bug,有時會在tabbar上留一行白色區域,正好是navgationBar的高度.而且這種做法比較複雜.不過是一種很有意思的思路! 效果 *微信跳轉,在通訊