原创 Flutter環境配置踩坑(MAC)

作爲一個iOS開發者,mac本上已經安裝了Xcode。 按照中文官網的步驟來 https://flutterchina.club/setup-macos/ 1.按照步驟下載flutter安裝包(這裏我直接在官網直接下載的穩定版最新的)

原创 打破NSTimer的循環引用

說到Timer定時器不得不說說,Timer造成的循環引用。當我們跳轉到一個VC時,在這個VC創建一個重複觸發的定時器,當從這個VC返回時,發現VC的delloc方法並未調用,這是因爲timer對VC的強引用導致VC無法釋放。 解決這中問

原创 NSNotification&NSNotificationQueue

關於我們日常所使用的NSNotification,其實有很多知識點和細節,推薦通讀這篇文章: 蘋果通知開發文檔 總結如下: 一 基礎內容 通知中心: @property (class, readonly, strong) NSNoti

原创 xib多語言增加控件相應strings文件內容更改問題

當我們給xib添加完strings文件後,後續需要對xib進行修改,當增添了新的控件時,發現對應的strings文件不會隨之改變,也找不到什麼按鈕可以調整,這時候就需要用到ibtool命令。 在網上看到的是使用 ibtool xxx.x

原创 使用ibtool命令時提示xcode-select: error: tool 'ibtool' requires Xcode

首先你肯定得先初始化是吧 xcode-select --install   使用命令: (針對從appStore下載的情況,如果時自己安裝的可以試試換成相應的目錄) sudo xcode-select --switch /Applic

原创 關於NSNotificationCenter收到多次相同通知的問題

在項目中某個地方需要接收一個通知,然後去做一項任務,調試時發現有時會收到兩條相同的通知,奇怪了,排查步驟如下: 1.查看是否發送了兩次通知; (結果發現只發送了一次) 2.查看- (void)addObserver:(id)observe

原创 iOS CAAnimation(一)基礎屬性

先來看一下UIView和CALayer之間的關係: CAlayer繼承了NSObject,負責顯示內容,不能響應事件,僅能判斷某點是否在該視圖內。- (BOOL)containsPoint:(CGPoint)p; UIView繼承了U

原创 堆棧之中綴轉後綴表達式(C語言)

我們再來複習一下堆棧(Stack)這個數據結構,堆棧是有一定約束的線性表,插入和刪除操作都作用在棧頂(Top)位置。 我們既可以通過數組順序實現堆棧,也可以通過鏈表鏈式實現堆棧,具體情況具體分析。 那麼什麼是中綴表達式和後綴表達式呢? 通

原创 排序算法三:交換排序

冒泡排序: 冒泡排序是最簡單的交換排序。對N個元素的數組進行排序時,一共進行N-1次循環。在第i次循環中,對從第1到低N-i個元素從前到後進行比較,每次比較相鄰的兩個元素,若前一個元素大於後一個元素,則交換兩者位置,否則保持不變。這樣一次

原创 C++之構造析構函數

來總結一下C++中的構造函數 析構函數,強化一下記憶:   構造函數: 構造函數一種特殊的成員函數,名字與類名相同,沒有返回值,可以有參數。 構造函數的作用是在創在對象時,對對象內的成員進行賦初值操作。 構造函數必須是 public 屬性

原创 最大堆最小堆的實現(C語言)

堆是特殊的隊列,從堆中取元素是按照元素的優先級大小,而不是元素進入隊列的先後順序。因此,堆也通常被稱爲“優先隊列”。 堆的最常用結構是用二叉樹表示,不特指的話,他是一棵完全二叉樹。因此通常不必用指針,而是用數組來實現堆的存儲。我們 知道,

原创 第5條:用枚舉表示狀態選項

需要的知識:位運算 詳細見這裏。 程序中的所有數在計算機內存中都是以二進制的形式存儲的。位運算就是直接對整數在內存中的二進制位進行操作。 按位與 & : 通常用於二進制的取位操作,例如一個數 and 1的結果就是取二進制的最末位。這可以用

原创 排序算法一:插入排序

背景知識: 在學習排序算法前,我們需要知道兩個概念:排序算法的穩定性、逆序對 在一組待排序記錄中,如果存在任意兩個相等的記錄R和S,且在待排序記錄中R在S前,如果在排序後R依然在S前,即他們前後位置在排序前後不發生改變,則稱該排序算法是

原创 排序算法二:選擇排序

首先來看一下簡單選擇排序: 思想:在未排序的序列中選出最小的元素和當前序列的第一個元素互換,然後在剩下的元素中選出一個與剩下元素的第一個位置互換,依次交換,最後就會形成一個從小到大的已排序序列。 void simpleSelectSor

原创 C語言指針小總結

主要資料來源: https://www.jianshu.com/p/355374e03fb3 //默寫年華Antifragile http://c.biancheng.net/cpp/html/71.html   //C語言中文網 ht