Time of Update: 2017-01-13
Objective-c並沒有直接提供隨機資料產生的函數或方法,不過我們可以直接利用c的各種隨機演算法以下是幾種常見的隨機數演算法的使用,可以參照以下標頭檔stdlib.harc4random不需要隨機種子,在調用時自動產生隨機種子返回[0,X)的集合int value = arc4random() % x;返回[1,X]的集合int value = (arc4random() % x) + 1;random()/rand()不使用種子隨機數,返回long/int範圍內的任意一個數注意這裡的
Time of Update: 2016-12-02
標籤:div 面向 ring 問題 release 機制 string str sch •
Time of Update: 2016-11-05
標籤:修改 比較 add require 種類 複製 atom interface 細節 先借鑒百科對原型模式的介紹:定義:用原型執行個體指定建立對象的種類,並且通過拷貝這些原型建立新的對象。P
Time of Update: 2016-10-28
標籤:需要 cti property 自動 資源 ase 變數 引用計數器 object 一、Objective-C記憶體管理的對象1.
Time of Update: 2016-09-11
標籤: 建構函式:Objective-C是一門物件導向的語言,我們在Objective-C中定義一個類時,總要提供一個初始化方法,一般大家都是這樣寫的:- (id)init { //調用父類方法,執行個體一個本類,涉及runtime,防止衝突,可以在構造方法裡初始化一些資料等 self = [super init]; if (self) { self.name = @"xxx"; } return self; }-
Time of Update: 2016-09-10
標籤:CGGeometry參考定義幾何結構和功能,操作簡單。資料結構中的一個點CGPoint代表在一個二維座標系統。資料結構的位置和尺寸CGRect代表的一個長方形。資料結構的尺寸CGSize代表寬度和高度。 1、建立一個幾何原始數值
Time of Update: 2016-08-15
標籤:理解Method Swizzling是學習runtime機制的一個很好的機會。在此不多做整理,僅翻譯由Mattt Thompson發表於nshipster的Method Swizzling一文。Method Swizzling是改變一個selector的實際實現的技術。通過這一技術,我們可以在運行時通過修改類的分發表中selector對應的函數,來修改方法的實現。例如,我們想跟蹤在程式中每一個view controller展示給使用者的次數:當然,我們可以在每個view
Time of Update: 2016-08-11
標籤:CategoryOC提供了一種與眾不同的方式——可以動態為已經存在的類添加新的行為(方法)。這樣可以保證類的原始設計規模較小,功能增加時再逐步擴充。並且使用Category對類進行擴充時,不需要建立子類。Category使用簡單的方式,實現了類的相關方法的模組化,把不同的類方法分配到不同的分類檔案中。可以喂任何類添加新的方法,包括那些沒有原始碼到類。習慣將類別代碼放在獨立的檔案中,通常以“類名稱+類別名稱”的風格命名。現在我們為NSString類添加一個類別hello。步奏如
Time of Update: 2016-08-10
標籤:協議:協議不是一個類:它只能聲明方法而不能有任何執行個體變數,它有兩種類型:正式協議和非正式協議,並且協議只有聲明檔案,沒有實現檔案。正式協議是方法的集合,遵循了正式協議的類中必須要實現協議中的所有方法,一個類可以遵循的協議數量沒有限制。非正式協議也是一系列方法的集合,但是遵循非正式協議中的類中可以根據自己的需要選擇實現協議中的方法,即非正式協議中的方法可以不實現。聲明一個協議的一般格式: @protocol protocolName<protocol,…>
Time of Update: 2016-08-10
標籤:關聯 關聯是指把兩個對象相互關聯起來,使得其中的一個對象作為另外一個對象的一部分。 關聯特性只有在Mac OS X V10.6以及以後的版本上才是可用的。在類的定義之外為類增加額外的儲存空間 使用關聯,我們可以不用修改類的定義而為其對象增加儲存空間。這在我們無法訪問到類的源碼的時候或者是考慮到二進位相容性的時候是非常有用。
Time of Update: 2016-08-10
標籤:如果類遵循了NSCoding協議,則在類中必須實現該協議的編碼和解碼這兩種執行個體方法。此功能提供了基礎的歸檔和解檔功能。 小練習:1.定義一個Computer類 執行個體變數:float width;NSString *name; 方法:一個帶兩個參數的初始化函數; print()函數 dealloc函數 2.定義一個Person類 執行個體變數:NSString *name;Computer *c;int age;&
Time of Update: 2016-08-09
標籤:知識點1.類的介紹 類是對象的類型,對象是類型的執行個體。 執行個體變數:用來區分同一類的不同對象,是描述對象用的。執行個體變數可以是各種類型:基礎資料型別 (Elementary Data Type)、指標、複合類型、其他類。 執行個體方法:用來操作一個類的對象的函數,執行個體方法是給外部的提供者。 在OC中,使用#import包含標頭檔。防止標頭檔被重複包含。2.類的聲明 @interface className:parentClass<protocol,..>
Time of Update: 2016-08-08
標籤:一、什麼是instancetypeinstancetype是clang 3.5開始,clang提供的一個關鍵字,表示某個方法返回的未知類型的Objective-C對象。我們都知道未知類型的的對象可以用id關鍵字表示,那為什麼還會再有一個instancetype呢?二、關聯傳回型別(related result
Time of Update: 2016-08-02
標籤:Objective-C的方法被兩種資料類型描述:一個是選擇子(SEL),它用來描述方法的名稱;另一個是實現(IMP),它用來描述方法被調用時實際執行的代碼(它們基本上只是C函數的指標).類似於SEL結構,IMP可以通過運行時擷取,並且也可以(作為參數)傳遞到函數和方法中去.大多數情況下,你只使用選擇子.你只在訪問一些Objective-C運行時進階特性的時候才會使用IMP結構.你可以這樣認為:SEL是一個Objective-C方法的抽象表示,而IMP是具體的實現.
Time of Update: 2016-07-05
標籤:1:@property 是什嗎?在Objective-C中,@property 是聲明屬性的文法,它可以快速方便的為執行個體變數建立getter/setter方法。2:@property 的本質?@property = ivar + setter + getter,實際上就是執行個體變數 + getter方法 + setter方法。3:@property 的作用?@property(屬性)作為Objective-C
Time of Update: 2016-06-28
標籤: 我們在C/C++開發中常會用到結構體來協助我們簡單封裝基礎資料型別 (Elementary Data Type),在Objective-C中我們也可以使用結構體來完成資料類型的封裝。同時,Cocoa Touch還提供了一個NSValue來協助我們更好地在開發中使用結構體。
Time of Update: 2016-06-18
標籤:最近在做資料類app需要一個好的資源管理工具,excel在這方面非常好,不過能第一非常low,第二資料量一大查詢就是個問題。因此,我使用django做了個資源管理小工具。好處還是很明顯的(1)可以借用django強大的adminsite,實現資源管理(2)哪天心情好了,直接就可以部署個網站。不過還是遇到了一個小問題(1)Mojo
Time of Update: 2016-06-16
標籤:How Do I Declare A Block in Objective-C?As a local variable:returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};As a property:@property (nonatomic,
Time of Update: 2016-06-14
標籤:轉自 http://blog.csdn.net/haishu_zheng/article/details/12873151Objective-C中的@dynamic 一、@dynamic與@synthesize的區別@property有兩個對應的詞,一個是@synthesize,一個是@dynamic。如果@synthesize和@dynamic都沒寫,那麼預設的就是@syntheszie var
Time of Update: 2016-06-11
標籤:Objective-C中,調用方法採用的是一種訊息傳遞機制。參考文章:http://blog.csdn.net/xingyevc/article/details/39397873 如果向某個對象傳遞一個資訊,則會使用OC的動態綁定機制來決定需要調用的方法。在底層,所有方法都是普通C語言函數。然而對象收到訊息後,究竟該掉哪個方法則完全於運行期決定,甚至可以在程式運行時改變。這些特性使得OC稱為一門真正的動態語言。 給對象發訊息:id returnValue =