Time of Update: 2016-07-01
標籤:1、隨機數的使用 1)、arc4random() 比較精確不需要產生隨即種子 使用方法 : 通過arc4random() 擷取0到x-1之間的整數的代碼如下:
Time of Update: 2016-06-30
標籤:#import <Foundation/Foundation.h>#define onExit\ __strong void (^block)() __attribute__((cleanup(cleanup),unused)) = ^__attribute__((constructor)) void ExecuteBefore_main(){ printf("ExecuteBefore_main\n");}__attribute__((destructor))
Time of Update: 2016-06-30
標籤:[精通Objective-C]對象和訊息傳遞參考書籍:《精通Objective-C》【美】 Keith Lee目錄精通Objective-C對象和訊息傳遞目錄對象建立對象初始化對象重構Atom類並建立子類Factory 方法訊息傳遞發送訊息訊息轉寄附錄前一章節建立的Atom類對象建立對象NSObject類中用於建立類執行個體(即對象)的方法+(id)
Time of Update: 2016-06-28
標籤:單例是一種類,該類只能執行個體化一個對象。 儘管這是單例的實際定義,但在Foundation架構中不一定是這樣。比如NSFileManger和NSNotificationCenter,分別通過它們的類方法defaultManager和defaultCenter擷取。儘管不是嚴格意義的單例,這些類方法返回一個可以在應用的所有代碼中訪問到的類的共用執行個體。在本文中我們也會採用該方法。
Time of Update: 2016-06-28
標籤: 我們在C/C++開發中常會用到結構體來協助我們簡單封裝基礎資料型別 (Elementary Data Type),在Objective-C中我們也可以使用結構體來完成資料類型的封裝。同時,Cocoa Touch還提供了一個NSValue來協助我們更好地在開發中使用結構體。
Time of Update: 2016-06-27
標籤:OC是一門物件導向的語言,因此它也有類、對象、靜態\動態方法、成員變數的概念。這講就來建立第一個OC的類。一、文法簡介1.類在Java中,我們用1個.java檔案就可以描述清楚一個類;在OC中,一般用2個檔案來描述一個類:1> .h:類的聲明檔案,用於聲明成員變數、方法。類的聲明使用關鍵字@interface和@end。注意:.h中的方法只是做一個聲明,並不對方法進行實現。也就是說,只是說明一下方法名、方法的傳回值類型、方法接收的參數類型而已,並不會編寫方法內部的代碼。2&
Time of Update: 2016-06-22
標籤:說明:這個Objective-C專題,是學習iOS開發的前奏,也為了讓有物件導向語言開發經驗的程式員,能夠快速上手Objective-C。如果你還沒有編程經驗,或者對Objective-C、iOS開發不感興趣,請忽略。學習本專題之前,建議先學習C語言專題。在上一講,已經建立了第一個OC程式,這講就來解析它內部的代碼。查看項目結構可以發現這個程式中只有一個源檔案:main.m開啟main.m檔案,代碼如下 1 #import <Foundation/Foundation.h> 2
Time of Update: 2016-06-20
標籤:一.開啟Xcode,建立Xcode項目 二.選擇最簡單的命令列項目因為我們只是學習OC文法,還未正式進入iOS開發,所以選擇命令列項目即可 三.輸入項目名稱,選擇Foundation架構進行建立項目 * Type一項一定要選擇Foundation架構,因為OC的常用類都包含在此架構中* 最下面的"Use Automatic...."暫時不要勾選,這跟記憶體管理有關係。講到記憶體管理的時候再說 四、點擊Run,運行項目* C語言的源檔案拓展名為".c"
Time of Update: 2016-06-19
標籤:前言目前來說,Objective-C(簡稱OC)是iOS開發的核心語言,在開發過程中也會配合著使用C語言、C++,OC主要負責UI介面,C語言、C++可用於圖形處理。近來,流傳Ruby、C#也可以開發iOS應用程式了,甚至還說Ruby比OC更適合寫iOS程式。這讓不少學習iOS開發的朋友感到很困擾,究竟學哪門語言好呢?OC會不會被Ruby、C#取代呢?如果被取代了,那我的OC不是白學了?下面我發表一下個人觀點:1>
Time of Update: 2016-06-18
標籤:最近在做資料類app需要一個好的資源管理工具,excel在這方面非常好,不過能第一非常low,第二資料量一大查詢就是個問題。因此,我使用django做了個資源管理小工具。好處還是很明顯的(1)可以借用django強大的adminsite,實現資源管理(2)哪天心情好了,直接就可以部署個網站。不過還是遇到了一個小問題(1)Mojo
Time of Update: 2016-06-18
標籤:在java中,我們經常使用的是單例模式,這些設計模式在ios開發中也比較常用,最近也在考慮使用在ios開發中使用單例模式在objective-c中,需要在.m檔案裡面定義個static變數來表示全域變數(和java裡面的類變數類似,但是在objective-c中,static變數只是在編譯時間候進行初始化,對於static變數,無論是定義在方法體裡面
Time of Update: 2016-06-04
標籤:使用NS_ENUM 和 NS_OPTIONS宏定義枚舉。Adopting Modern Objective-C使用NS_ENUM宏定義一組互斥的枚舉值:typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault, UITableViewCellStyleValue1, UITableViewCellStyleValue2,
Time of Update: 2016-06-04
標籤:類目和延展的作用都是為了擴充一個類。Objective-C中的類目(Category)一、類目的定義和作用類目也叫分類,英文Category,在沒有原類.m檔案的基礎上,給該類添加方法。比如,NSString類原本沒有helloString方法,我們又沒有NSString類的原代碼,那我們想給NSString類添加一個helloString的方法,只有通過聲明子類或者類目才可以達到這個目的。二、類目的聲明:@interfaceNSString (hello)-
Time of Update: 2016-06-04
標籤:封裝的好處:過濾不合理的值屏蔽內部的賦值過程讓外界不必關注內部的細節繼承的好處:不改變原來模型的基礎上,拓充方法建立了類與類之間的聯絡抽取了公用代碼壞處:耦合性強(當去掉一個父類,子類將不能再使用)繼承的注意點:子類和父類不能有相同的成員變數子類可以重寫父類的方法子類方法和屬性的訪問過程:如果子類沒有,就去訪問父類的繼承和組合: 1 @interface Score : NSObject 2 { 3 int _cScore; 4 int _ocScore;
Time of Update: 2016-06-02
標籤:GitHub的Objective-C的動畫UI庫其實是最多的一部分,GitHub有相當一部分的動畫大牛,如Jonathan George,Nick Lockwood,Kevin,Roman Efimov,Christopher Wendel,Jared Verdi,Peter Steinberger 等,都是一些寫出很牛逼動畫庫的人。1 MBProgressHUDJonathan Georgestar:9150MBProgressHUD +
Time of Update: 2016-05-19
標籤:1.方法前的加減號Objective-C中是沒有public與private的概念的,即可以認為全部都是public。減號表示的是一個函數、方法、訊息的開始。加號則表示不需要建立一個類的執行個體,其他類就可以直接調用這個類中的函數(也可以說加號表示靜態成員函數)2.Objective-C語言#import引入標頭檔時,.h和.m有什麼區別?.h檔案是標頭檔,包含了類,類型、函數與常數的聲明;.m檔案是原始碼檔案;.mm
Time of Update: 2016-05-18
標籤:本次的主要內容是塊,對初學者來說,代碼中涉及到塊的內容確實很容易讓人疑惑。首先談一下塊的概念,塊(Block)是蘋果為 C、C++以及 OC 添加的一種特性,它包含了部分代碼,可以被當做是參數傳遞給函數,並且它的實質是 OC 中的對象,也就是我們完全可以把它放到集合中,比如我們可以定義 NSArray 或者 NSDictionary 的對象來放置一系列的塊,然後通過代碼來決定執行哪一個塊。塊還有一大特性,就是可以從相應的代碼塊中截取變數的值,就像閉包或者 lambda
Time of Update: 2016-05-18
標籤:介紹Objective-C將許多決策從便宜時期和連結時期延後到運行時期。只要可能,它都動態做很多事情。這意味著它不僅需要一個編譯器,還需要一個運行時系統來執行編譯好的代碼。對於Objective-C來說,這個運行時系統就好像一個作業系統,使objective-c能夠正常工作。本文探究NSObject類,以及Objective-C程式如何和運行時系統互動。通過閱讀本文,你應該理解Objective-C的運行時系統如何工作,以及如何利用它。儘管對於寫一個Cocoa程式而言,你可能並不需要理解本
Time of Update: 2016-05-18
標籤:1. Hello,
Time of Update: 2016-05-16
標籤:KVC的使用 1、KVC 全稱 key valued coding 索引值編碼反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性.JAVA,C#都有這個機制。ObjC也有,所以你根部不必進行任何操作就可以進行屬性的動態讀寫,就是KVC。KVC的操作方法由NSKeyValueCoding提供,而他是NSObject的類別,也就是說ObjC中幾乎所有的對象都支援KVC操作。 2、常用方法&