原创 參與Bitcoin Core開源項目(一):項目介紹

一、比特幣是啥? 比特幣是一種可以在世界上的任何地方、任何人之間完成即時支付的實驗性數字貨幣,它通過使用p2p技術,在不需要中心機構的情況下,由網絡共同來實現管理交易和發行貨幣。Bitcoin Core是支持使用這種貨幣開源軟件的名稱。 下

原创 【已解決】IOS/Mac OS X開發中nonatomic代表什麼意思?

問題 網上流傳的IOS或者Mac OS X源碼內,某些屬性特質會被聲明爲nonatomic,nonatomic代表什麼含義? 解答 我先說結論: 1、在進行IOS開發時,應將所有屬性聲明爲nonatomic,aotomic屬性會嚴重影響性能

原创 淺析Objective-C中的method swizzling技術

一、method swizzling是什麼? method swizzling是一種偷天換日的技術,在不需要改動源代碼,也不需要通過繼承子類來覆寫方法的情況下,改變這個類的某些甚至全部功能。 method swizzling技術通常用於:給

原创 【SRP】練習(一)

有一個這樣的設計: #include<string> using std::string; class IEmail{ public: virtual void setSender(const string & sender) =

原创 Objective-C的三種枚舉

在Objective-C中可以通過三種方式來定義一個枚舉類型。 一、C語言中的枚舉 C語言中的枚舉形如: enum EOCConnectionState{ EOCConnectionStateDisconnected,

原创 完美解決Mac平臺下Python3環境import bencode模塊的報錯

在Mac平臺下(其它平臺沒測),即使你使用pip3 install bencode來安裝bencode模塊,安裝後的bencode模塊仍然不兼容python3(mac平臺)。 因此,本文將對bencode模塊稍作改動,使其可以在Mac平臺下

原创 NSPasteBoard的使用

取內容 NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; NSArray *types = [pasteboard types]; if ([types

原创 老司機帶你探究NSScrollView的滾動原理

本文主要講述如何實現可以控制NSScrollView滾動的Slider,藉此來探究、深入理解NSScrollView滾動的原理,最終實現的Demo如下: Demo 接下來,我將通過以下四部分來由淺入深的探究NSScrollVie

原创 RegexKitLite的介紹、安裝與使用

一、介紹 在Mac開發過程中,很多時候我們需要用到正則表達式,然而Cocoa中的正則表達式的使用不是那麼順手,我們可以使用第三方庫來實現正則表達式,而強大的第三方正則表達式庫RegexKitLite,恰好能滿足我們的需求。 二、安裝 安裝過

原创 NSBundle介紹

bundle是一個目錄,其中包含了程序會使用到的資源. 這些資源包含了如圖像,聲音,編譯好的代碼,nib文件(用戶也會把bundle稱爲plug-in). 對應bundle,cocoa提供了類NSBundle. 我們的程序是一個bundle

原创 【已解決】CGContextXXX: invalid context 0x0. If you want to see the backtrace......

問題 調試程序時發現控制檯輸出了這麼一大串錯誤,核心錯誤是CGContextXXX: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_