Time of Update: 2018-12-05
1、安裝編譯器 Objective-C的編譯器有很多,其中LLVM屬於從GCC發展出來的,主要使用在蘋果的平台中,GNU可以使用GnuStep,網址是http://wwwmain.gnustep.org/,從這裡可以下載Windows版本的gcc編譯器,配合codeblocks可以編譯調試object c程式。 進入下載頁面,下載上面3個軟體包,安裝,例如安裝到D:\GNUstep,2、安裝CodeBlocks
Time of Update: 2018-12-05
前段時間花了點時間摸了下Objective-C,自己裝了“黑蘋果”,Lion系統,版本是10.7.2,還要安裝XCode開發環境,對應的版本為xocde_4.2_and_ios_5_sdk_for_lion.dmg。XCode3與Lion系統是不相容的,安裝了之後也看不到XCode工具,這點要特別注意下。安裝過程很簡單,這裡不再說明了。基本上現在大多數書的開發環境都都是xocde_3的,因此這裡邊自學《objective-c基礎教程》這本書,邊摸索下XCode4,邊整理一下相關的知識
Time of Update: 2018-12-05
1 前言對於我們來說單例模式再普通不過,即一個程式中只有一個類的執行個體,今天我們來介紹一下Objective-C中的單例代碼。2 代碼執行個體MyManager.m#import "MyManager.h"static MyManager *shareMyManager = nil;@implementation MyManager+(id)instance{ if (shareMyManager == nil) { shareMyManager = [[super
Time of Update: 2018-12-05
物件導向的三大特點封裝、繼承、多態 封裝:隱藏內部實現,穩定外部介面. 封裝就是定義類 定義屬性 定義方法 屬性封裝了setter get方法 @property(nonatomic,retain)NSString *name,*sex; 類封裝了執行個體變數和方法 .h檔案 #import <Foundation/Foundation.h>
Time of Update: 2018-12-05
objective-c protocol delegate
protocol-協議,就是使用了這個協議後就要按照這個協議來辦事,協議要求實現的方法就一定要實現。
delegate-委託,顧名思義就是委託別人辦事,就是當一件事情發生後,自己不處理,讓別人來處理。
當一個A view 裡麵包含了B view
b view需要修改a view介面,那麼這個時候就需要用到委託了。
需要幾個步驟
1。首先定一個協議
2。a view實現協議中的方法
3。b view設定一個委託變數
4。把b
Time of Update: 2018-12-05
id 資料類型可儲存任何類型的對象。從某種意義說,它是一般物件類型。例如,程式行 id number; 將number聲明為id類型的變數。可聲明方法使其具有id類型的傳回值,如下: -(id) newObject: (int) type; 這個程式行聲明了一個名為newObject的執行個體方法,它具有名為type的單個整型參數並有id類型的傳回值。應該注意的是,對傳回值和參數型別宣告來說,id是預設的類型。因此,以下程式行: +allocInit;
Time of Update: 2018-12-05
轉載於:http://www.cnblogs.com/54007/archive/2011/02/11/1951355.html在C#中,我們用介面來實現多態。比如介面IOb,定義了1個方法F; 有兩個類A,B都實現了IOb介面。IOb item = new A();item.F();//執行的是A.F();item = new B();item.F();//執行的B.F(); 在objective-c中,interface
Time of Update: 2018-12-05
如今iphone開發越來越火,俺也湊湊熱鬧學習一下objective-c,但是公司全是清一色的windows xp系統(不要聲張公司機器)(^_^),沒法學習和調試。學習程式設計語言最忌諱的就是只看書不動手,所以必須找一個類比環境寫幾個程式試試。網上聽說有GNUstep的類比unix環境,於是就上網下載了一個。 在:http://www.gnustep.org/experience/Windows.html一共需要四個安裝包: GNUstep System,GNUstep
Time of Update: 2018-12-05
int iVisen = 1000;- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //int代碼塊 int mutl =7; int (^visenBlock)(int) = ^(int num){return num *mutl;};
Time of Update: 2018-12-05
http://unmi.cc/objective-c-dp-singletonObjective-C 設計模式之單例2011-08-25 — Unmi作為設計模式中最簡單的一個,單例模式還是在很多系統中都會用到,總有那麼一些執行個體,從始至終只需要它的一個執行個體,而且任何時候都要總方便的得到,像 Application 對象啦,環境對像啊。要保持你設計的類別人只會初始出一個執行個體來,像 Java/C++/C#
Time of Update: 2018-12-05
一、繼承1.基本概念一個新類可以從已有的類派生出來,這個過程稱為繼承,新類稱為子類,已有的類稱為父類或超類。2.繼承的特點:實現代碼重用:子類可以重用父類的執行個體變數和方法。子類可以增加實力變數和方法擴充父類,但不能重載父類的執行個體變數所有類型都有一個公用基類:NSObject3.NSObject類 允許定義自己的根類,但通常不這樣做,而是利用現有的類
Time of Update: 2018-12-05
關鍵字@看到這個關鍵字,我們就應該想到,這是Object-C對C語言的擴充,例如@interface XXX。@interface聲明類@implementation實作類別@protocol聲明協議@optional與@protocol配合使用,說明協議中的某個或者某幾個方法可以不實現@required與@protocol配合使用,說明協議中的某個方法或者某幾個方法必須實現@end與@interface
Time of Update: 2018-12-05
今天在實現一個功能的時候,遇到了一個無比詭異的問題:具體描述如下:在一個view中定義了一系列的button,並為其設定了tag,然後為所有button都關聯了同一個點擊事件,在這個事件中根據button的id來處理,事件實現如下:- (IBAction)sendKeyHandler:(id)sender{ UIButton *button = (UIButton*)sender; switch (button.tag) { case 20:
Time of Update: 2018-12-05
✓ 類別是一個類,它是添加了新功能的現有類。✓ 使用類別就是為了能夠為現有類添加新的方法,不用繼承該現有類,就可使用現有類的對象調用添加的方法了。✓ 類別可以使類的實現分散在多個檔案中.✓ 類別中不能有變數,類別中沒有放變數的位置.✓ 如果類中的方法和類別中的方法名稱相同,這將造成衝突,類別的方法將完全取代類的方法。✓ 同一個類的不同類別聲明了相同的方法,這將導致不穩定,哪個方法會被調用是不確定的.類別聲明: #import "ClassName.h" @interface ClassName
Time of Update: 2018-12-05
1.當你使用 new、alloc 或 copy 建立對象時,對象的 count retain 到 1。你一定要負責把這個對象 release 或 autolease 掉。這樣當它的生命週期結束時,它才能清空。2.當你使用其他方法獲得一個對象時,你可以認為它已經 retain 了一個 count,並且 autolease 掉了。你不用考慮和它相關的清理問題。但是如果你想保留這個對象,那麼你需要 retain 它,並且要確保之後你 release 了這個對象。3.如果你 retain 一個對象,
Time of Update: 2018-12-05
寫程式遇到 Bug 並不可怕,大部分的問題,通過簡單的 Log 或者程式碼分析並不難找到原因所在。但是在 Objective-C 編程中遇到 EXC_BAD_ACCESS問題的時候,通過簡單常規的手段很難發現問題。這篇文章,給大家介紹一個常用的尋找 EXC_BAD_ACCESS 問題根源的方法。首先說一下 EXC_BAD_ACCESS 這個錯誤,可以這麼說,90%的錯誤來源在於對一個已經釋放的對象進行release操作。舉一個簡單的例子來說明吧,首先看一段Java代碼:public class
Time of Update: 2018-12-05
文章目錄 NSNumberNSValueNSNull 各種數值NSArray和NSDictionary都只能儲存物件,不能儲存任何基本類型的資料,如int,float,struct。因此我們可以用對象來封裝基本的數值。NSNumberCocoa提供了NSNumber來儲存物件,但不能儲存C裡面的各種資料,所以我們要用一些相應的對象來進行封裝。NSNumber類來封裝基本資料對象。可以有下列方法:+ (NSNumber *)
Time of Update: 2018-12-05
著作權聲明此文著作權歸作者Vince Yuan (vince.yuan#gmail.com)所有。歡迎非營利性轉載,轉載時必須包含原始連結http://vinceyuan.cnblogs.com/,且必須包含此著作權聲明的完整內容。版本 1.1
Time of Update: 2018-12-05
這篇文章的前提是懂java或者其他的一門語言,因為c的知識太多講不完,所以只是講點與java的不同點.最近打算寫點關於ios的開發,ios開發離不開OC,OC要先瞭解C,此部落格就為此而誕生了基礎性的東西就不多做介紹了,不然c太多了,其中會與java對比著講一.基礎資料型別 (Elementary Data Type)java資料類型 和長度 int 4個位元組 double 8個位元組 float 4個位元組 long 8個位元組 short 2個位元組 boolean 1個位元組
Time of Update: 2018-12-05
首先要說明的是:GNUStep 雖然可以在windows上安裝使用但主要還是是面向Linux使用者,而非Windows使用者。如果有比較好的Linux開發經驗,用GNUStep還是不錯的。GNUStep的功能並不強,而且只有Foundation庫,因此建議大家還是多花時間在 XCode