Time of Update: 2014-12-01
標籤:objective-c開始接觸ios開發,先從最基礎的配環境開始,今天我們看一下如何完整配Object-c的環境我的linux系統是ubuntu14.04.考慮到沒錢去買macbook,黑蘋果電腦顯卡跟不上。於是。。。首先配環境:sudo apt-get install gnustep gnustep-devel gobjc(ctrl + alt + t 呼出cmd輸入命令,要連網下載)安裝完成之後 開啟.bashrc,sudo gedit .bashrc
Time of Update: 2015-03-05
標籤:Objective-C是蘋果軟體的程式設計語言,想要上機學習、調試,有一個整合式開發環境(IDE)方便很多。有三類方法搭建Objective-C的整合式開發環境:1) 使用蘋果的平台,整合式開發環境使用Xcode。但如果沒有蘋果平台,想在Windows環境下學習Objective-C,可以採用以下兩種方法:2) 在Windows環境下設定一個蘋果虛擬機器,但這對個人電腦的效能要求較高,不是所有個人電腦都可以,而且虛擬機器的
Time of Update: 2015-03-05
標籤:interface category private public 編譯器 Objective-C 2.0增加了class extensions用於解決兩個問題:允許一個對象可以擁有一個私人的interface,且可由編譯器驗證。支援一個公有唯讀,私人可寫的屬性。私人介面(Private
Time of Update: 2015-03-04
標籤:ARC(是編譯器特性)ARC是自iOS 5之後增加的新特性,完全消除了手動管理記憶體的煩瑣,編譯器會自動在適當的地方插入適當的retain、release、autorelease語句。你不再需要擔心記憶體管理,因為編譯器為你處理了一切ARC 是編譯器特性,而不是 iOS 運行時特性,它也不是類似於其它語言中的垃圾收集器。因此 ARC 和手動記憶體管理效能是一樣的,有時還能更加快速,因為編譯器還可以執行某些最佳化ARC基本原理(不是類似 java 的記憶體回收機制)ARC
Time of Update: 2015-03-01
標籤:NSString,不可變字串,即建立以後內容和長度不可修改.NSMutableString,可變字串,即建立以後內容還可以修改.不可變字串(NSString)建立字串1 // 建立字串2 NSString *str1 = [[NSString alloc] initWithString:@"QQ"]; 3 NSString *str2 = [NSString stringWithString:@"WeChat"];4 // 字面量建立字串5 // 字面量也是文法糖
Time of Update: 2015-03-01
標籤:一,retain, copy, assign區別 概念: assign: 簡單賦值,不更改索引計數(reference counting)。 copy: 建立一個索引計數為1的對象,然後釋放舊對象 retain:釋放舊的對象,將舊對象的值賦予輸入對象,再提高輸入對象的索引計數為1 例: 1 NSString *pt = [[NSString alloc]
Time of Update: 2015-03-01
標籤:字典是用於儲存具有映射關係(key-value對)的資料集合.一個key-value對認為是一個條目(Entry),字典是儲存key-value對的容器.字典類的特點與數組不同,字典靠key存取元素;key值不能重複,value必須是對象;索引值對在字典中是無序儲存的.字典分為不可變字典(NSDictionary)和可變字典(NSMutableDictionary).不可變字典(NSDictionary)字典一旦建立,索引值對不可更改,不可添加,
Time of Update: 2015-03-01
標籤:今天整理一下關於Objective-C Literals的內容,Literals翻譯成字面量或者字面值,就是直接被寫到原始碼中的值。這不是一個陌生的概念,我們在寫程式的時候能頻繁的見到。我們很早就見過NSString 字面量了: NSString *greeting = @"Hello
Time of Update: 2015-02-22
標籤:本文的目的是來瞭解Objective-C中NSAutoreleasePool使用方法,Objective-C的Foundation庫實際上是種運行級對象系統,與一般的對象語言,例如C++,Java不一樣,而與COM或者Corba一樣,對象,不一定建立在使用者應用程式的地址空間中,有可能是建立在另一個地址空間中,甚至建立在別的機器上!所以,Objective-C的對象(全部繼承自NSObject),就是使用引用計數的方法來管理對象的存活,眾所周知,當引用計數為0時,對象就被銷毀了。操作非常簡
Time of Update: 2015-02-02
標籤:1.為什麼要有類別?在現有類的基礎上做擴充,可以採用繼承和組合兩種方法來實現,但是OC為什麼還要有類別這種方式呢?想想這樣一個應用情境,要建立一個字典,key是字串,value是字串的長度。一般的做法是: NSMutableDictionary *dict = [NSMutableDictionary dictionary]; NSString* str = @"hello"; NSNumber* num1 = [NSNumber
Time of Update: 2015-02-01
標籤:1.類裡面經常有一些變數需要進行set和get操作,OC中提供了方便的屬性@property來替換set和get方法,這樣能減少頻繁且簡單的重複代碼。如下代碼:@interface Person : NSObject@property NSString* strName;@property int nAge;@end@implementation Person@synthesize strName;@synthesize
Time of Update: 2015-01-25
標籤:1.上篇我們講了OC中的記憶體管理基礎,我們再總結一下何時該用記憶體管理。1)當用new、alloc、copy建立對象時,必須要釋放對象。2)當擁有對象時,如果是臨時對象,不需要釋放;當需要長時間保留對象時,必須保留對象並且在dealloc方法中釋放對象。2.OC中的記憶體回收機制OC2.0引入了記憶體回收機制,也就是啟用了記憶體回收機制之後,我們忘記了釋放對象,OC會幫我們釋放對象,這點可看出OC比C++的強大之處了。記憶體回收機制主要原理是在運行中定時動態跟蹤對象,檢查對象的引用技術並
Time of Update: 2015-01-05
標籤:#pragma mark 示範字串的copy//深拷貝--對象拷貝--內容拷貝(產生新對象)新對象計數器+1,原對象不變void stringmutableCopy(){ //string = 1 NSString *string = [[NSString alloc]initWithFormat:@"age is %i", 10]; //str = 1 //產生了一個新對象,原對象的計數器不變 NSMutableString *str = [string
Time of Update: 2014-12-04
標籤:des style blog http io ar color sp for 在之前的項目中,我們編程都是直接寫在一個main.m檔案中。類的main()函數,@interface和@
Time of Update: 2014-11-30
標籤:style ar os 使用 sp strong on 問題 bs Objective-C物件導向的編程 目錄對物件導向編程思想的理解類的聲明和定義類的執行個體化繼承編寫自己的類
Time of Update: 2014-09-19
標籤:style blog http color io os 使用 ar strong OC中只能使用指標變數來間接操作對象 類的聲明使用的關鍵字是@interface@interfa
Time of Update: 2014-09-19
標籤:style blog http color 使用 ar strong for 檔案 C語言的math.h中有個函數: double
Time of Update: 2014-09-05
標籤:http io 使用 java ar strong for 檔案 2014 There are only two hard things in Computer Science:
Time of Update: 2014-08-27
標籤:blog http 使用 io ar 資料 2014 cti log 在Objective-C中,message與方法的真正實現是在執行階段綁定的,而非編譯階段。編譯器會將訊息發送轉換成對
Time of Update: 2014-08-18
標籤:des style blog color 使用 os io 資料 Objective-C裡面的集合主要包括:NSString,NSMutableString,NSArray,NSMutableArray,NSDiction