Time of Update: 2015-12-01
標籤:1.Objective-C的指標世界OC一直是人感覺比較變態的一門語言,為什麼呢?因為它的每個變數都是指標型,多的都幾乎讓人忘了那個*的存在了。所以常常a=b這個等號讓我產生錯覺,總以為a從b那拷貝了一份。然而這的的確確,卻是個指標。a這個變數存的內容是b所在的地址。比如我定義了一個Student的Class,new了stu1和stu2,並把stu2=stu1,那當兩者任何一個進行修改時,兩個變數的內容都會修改。 Student *stu1=[[Student alloc]init]
Time of Update: 2015-11-19
標籤:本章的主要內容將聚集在Runtime對成員變數與屬性的處理。在討論之前,我們先介紹一個重要的概念:類型編碼。類型編碼(Type
Time of Update: 2015-11-18
標籤:一、簡單介紹UITabBarController和UINavigationController類似,UITabBarController也可以輕鬆地管理多個控制器,輕鬆完成控制器之間的切換,典型的例子就是QQ、等應?。 二、UITabBarController的使用1.使用步驟:(1)初始化UITabBarController(2)設定UIWindow的rootViewController為UITabBarController(3)建立相應的子控制器(viewcontroller
Time of Update: 2015-11-18
標籤:1、 三角函數 double sin (double); 正弦 double cos (double);餘弦 double tan (double);正切 2 、反三角函數 double asin (double); 結果介於[-PI/2, PI/2] double acos (double); 結果介於[0, PI] double atan (double); 反正切(主值), 結果介於[-PI/
Time of Update: 2015-11-17
標籤:/*---------------------NSArray---------------------------*/ //建立數組 NSArray *array1 = [NSArray arrayWithObject:@"1"]; 
Time of Update: 2015-11-16
標籤: 原文連結:http://blog.leichunfeng.com/blog/2015/06/26/objective-c-associated-objects-implementation-principle/ 我們知道,在 Objective-C 中可以通過 Category 給一個現有的類添加屬性,但是卻不能添加執行個體變數,這似乎成為了 Objective-C
Time of Update: 2015-11-13
標籤:RunTime簡稱運行時。就是系統在啟動並執行時候的一些機制,其中最主要的是訊息機制。對於C語言,函數的調用在編譯的時候會決定調用哪個函數( C語言的函數調用請看這裡 )。編譯完成之後直接順序執行,無任何二義性。OC的函數調用成為訊息發送。屬於動態調用過程。在編譯的時候並不能決定真正調用哪個函數(事實證明,在編 譯階段,OC可以調用任何函數,即使這個函數並未實現,只要申明過就不會報錯。而C語言在編譯階段就會報錯)。只有在真正啟動並執行時候才會根據函數的名稱找
Time of Update: 2015-11-13
標籤:在Objective-c中如何定義一個類呢?我們可以使用下面的格式進行表示:[cpp] view
Time of Update: 2015-11-13
標籤:一、什麼是代理模式?代理模式是在oc中經常遇到的一種設計模式,那什麼叫做代理模式呢?舉個例子:有一個嬰兒,他本身不會自己吃飯和洗澡等等一些事情,嬰兒媽媽上班又很忙,於是嬰兒媽媽就請了一個保姆,於是嬰兒媽媽和保姆之間商定了一個協議,協議中寫明了保姆需要做什麼事情,而保姆就是這個代理人。二、 代理模式的關鍵點:A完成一件事,但是自己不能完成,於是他找個代理人B 替他完成這個事情,他們之間便有個協議
Time of Update: 2015-11-13
標籤:在Objective-c中,使用@property來識別屬性(一般是執行個體變數)。在實現檔案中使用@synthesize標識所聲明的變數,讓系統自動產生設定方法和擷取方法。 也就是說@property和@synthesize配對使用,讓系統自動產生設定方法和擷取方法。 例:Test.h[cpp] view
Time of Update: 2015-11-12
標籤://解釋 property後邊的圓括弧中的修飾詞的含義:// nonatomic 非安全執行緒 非原子操作 特點是: 操作變數的效率高// atomic 安全執行緒 原子操作 特點是: 操作變數的效率低//// &
Time of Update: 2015-11-12
標籤: 以下僅為個人閱讀筆記,記錄翻閱之用。原文地址:https://github.com/oa414/objc-zen-book-cn 感謝!一、單例問題 參照前面單例的濫用一文。 http://www.cnblogs.com/yaann/p/4661909.html
Time of Update: 2015-11-10
標籤:在我們的iOS程式中,經常會用到多個第三方的開源庫,通常做法是去下載最新版本的開源庫,然後拖拽到工程中。 但是,第三方開源庫的數量一旦比較多,版本的管理就非常的麻煩。有沒有什麼辦法可以簡化對第三方庫的管理呢?有!在使用SDWebImage這個第三方庫的時候,我在學習如何將進度展現時,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 來管理第三方開源庫。
Time of Update: 2015-11-08
標籤:objective-c(objc)是一種乾淨的語言。它在c的基礎上添加了完整的物件導向特性,卻只引入了有限的新文法(相比c++,真是太有限了)。objc還有一個重要特性就是“動態”,可以說objc的動態特性是其他特性(Message,Dynamic Binding, Protocols, Categary, Associative References, Selectors)的基石。它的物件導向特性是動態,因此比c++和java的更加靈活。 -
Time of Update: 2015-11-08
標籤:********************************************// 可變數組構造方法 // 下邊兩句的定義都是不可變的// NSMutableArray *marray1 = [[ NSArray alloc]init];// NSMutableArray * marray1 = @[@"xx",@"yy"];
Time of Update: 2015-11-07
標籤: 1 #import <Foundation/Foundation.h> 2 #import "IOSProgrammer.h" 3 #import "JavaCodingMonkey.h" 4 int main(int argc, const char * argv[]) { 5 @autoreleasepool { 6 JavaCodingMonkey * javaCodingMokey = [[JavaCodingMonkey alloc]
Time of Update: 2015-10-30
標籤: 在使用Objective-C語言進行了一段時間的iOS開發之後,發現自己的語言基礎相對薄弱,於是開始彌補自己的短處。我發現在用過一種語言之後,再回過頭來看它的很多原理會發現有更加深刻的理解。下面就對一直困惑我的屬性和成員變數的用法和關係問題進行淺析,由於水平有限可能會有錯誤,請看過文章的人多多指正。1、屬性 關於屬性的用法在蘋果的官方文檔《The Objective-C Programming
Time of Update: 2015-10-27
標籤:Blocks are Objective-C objects, which means they can be added to collections like NSArray or NSDictionary. Block文法——無參數版本定義(Block的值)^{ NSLog(@"This is a block");} 聲明void (^simpleBlock)(void);類似int i; 賦值simpleBlock = ^
Time of Update: 2015-10-27
標籤: 1 //字典:(關鍵字 值) 2 // NSArray *array = [NSArray array];//空數組 3 // NSDictionary *dictionary = [NSDictionary dictionary];//空字典 4 NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"]; 5
Time of Update: 2015-10-26
標籤:總體來說Objective-C的訪問成員變數可見度和C++基本一樣,只是多了個@package. 以下是詳細說明:例子:@interface CTPerson : NSObject{ @private int _age; @protected NSString *_name; @public double _height; @package double _weight;} @private:私人的,只有在本類的對象方法中可以直接存取它&