Time of Update: 2018-12-05
1、簡介: property是Objective-C的關鍵詞,與@synthesize配對使用,用來讓編譯好器自動產生與資料成員同名的方法聲明。@synthesize則是用來產生對應聲明方法的實現。1.1 property的文法格式:@property (參數1,參數2)類型名字;這裡的參數,主要有以下三種:setter/getter方法(assign/retain/copy)讀寫屬性(readwrite/readonly)atomicity(nonatomic)1.2
Time of Update: 2018-12-05
單例模式在iOS開發過程中經常用到,蘋果提供過objective c單例的比較官方的寫法:static MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager{ @synchronized(self) { if (sharedGizmoManager == nil) { [[self alloc] init]; // assignment not done here
Time of Update: 2018-12-05
@property先行編譯指令的作用是自動聲明屬性的setter和getter方法有時候需要聲明相應的執行個體變數什麼時候需要聲明執行個體變數呢?看下面一個例子:@interface Foo: NSObject@property t;@@implmentation Foo- (NSInteger)t{ ...}- (void)setT:(NSInteger)newT{ ...}@end相應的setter, getter方法怎麼實現呢?
Time of Update: 2018-12-05
Objective-C文法快速參考作者: Cocoa China 10 Apr 大部分有一點其他平台開發基礎的初學者看到XCode,第一感想是磨拳擦掌,看到Interface Builder之後,第一感想是躍躍欲試,而看到Objective-C的文法,第一感想就變成就望而卻步了。好吧,我是在說我自己。 如果你和我一樣,對蘋果相關的開發:Mac OS X或是iPhone有興趣,但是第一時間看到Objective-C就會頭疼並伴有發燒癥狀的話,療效比較好的快速治療方法是閱讀本文。大概花二十分鐘左右,
Time of Update: 2018-12-05
原文地址:http://www.cnblogs.com/gugupluto/p/3159733.htmlObjective C運行時(runtime)技術的幾個要點總結前言: Objective
Time of Update: 2018-12-05
Objective-C 程式設計讀書筆記第15章 數字、字串和集合字串常用操作NSString *str1 = @"This is String A";NSString *str2 = [ str1 substringWithRange:NSMakeRange(8, 6)];NSRange subRange = [str1 rangeOfString:str2];if(subRange.location == NSNotFound){ NSLog(@"String not found");
Time of Update: 2018-12-05
dictionary是由鍵-對象組成的資料集合。正如在詞典中尋找單詞的定義一樣,可通過對象的鍵從objective-c詞典中擷取所需的值。詞典中的鍵必須是單值的,儘管它們通常是字串,但還可以是任何物件類型。和鍵關聯的值可以是任何物件類型,但它們不能為nil。 下面是一個使用詞典的類:#import <Foundation/NSDictionary.h>#import <Foundation/NSObject.h>#import
Time of Update: 2018-12-05
1.定義類: 在.h檔案中, @interface 類名:父類名 { 成員變數; } 成員函數; @end; 在.m檔案中, @implementation 類名 成員函數定義; @end; 2.成員函數定義:-(傳回值類型)函數名:(參數類型)參數,... -(void)
Time of Update: 2018-12-05
原文連結:http://pilky.me/view/21過去的幾年中湧現了大量的Objective-C開發人員。有些是從動態語言轉過來的,比如Ruby或Python,有些是從強型別語言轉過來的,如Java或C#,當然也有直接以Objective-C作為入門語言的。也就是說有很大一部分開發人員都沒有使用Objective-C太長時間。當你接觸一門新語言時,更多地會關注基礎知識,如文法和特性等。但通常有一些更進階的,更鮮為人知又有強大功能的特性等待你去開拓。 這篇文章主要是來領略下Objective
Time of Update: 2018-12-05
在Objective-C裡面,一個類被正確的編譯過後,在這個編譯成功的類裡面,存在一個變數用於儲存這個類的資訊。我們可以通過一個普通的字元 串取得這個Class,也可以通過我們產生的對象取得這個Class。Class被成功取得之後,我們可以把這個Class當作一個已經定義好的類來使用 它。 Selector和Class比較類似,不同的地方是Selector用於表示方法。
Time of Update: 2018-12-05
類別是個很偉大的概念。使用類別可以為任何一個類添加新方法,包括那些你沒有原始碼的方法。這非常方便。想要為某個類添加新方法時,我們通常的做法是建立子類。但有時,子類不方便。你可能不能建立一個子類的對象。你可能使用的是架構和工具包,因此無法處理新類的對象。類別的聲明:@interface UIImage (ImageTransform)-(UIimage *)transformToSize:(NSSize
Time of Update: 2018-12-05
//Creating a Singleton Instancestatic MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager{ if (sharedGizmoManager == nil) { sharedGizmoManager = [[super allocWithZone:NULL] init]; } return sharedGizmoManager;} +
Time of Update: 2018-12-05
簡介:上篇我們講到了KVC,這篇我們學習KVO,全名為:Key Value
Time of Update: 2018-12-05
複習了下Objective-c的基礎文法,每複習一遍,都會有新的心的,下面是總結的幾點:1、如果分配的記憶體沒有進行有效回收,將可能會導致記憶體泄露。2、判斷一個變數的記憶體是分配在堆記憶體或者是棧記憶體上的,主要看它是不是指標類型3、聲明局部變數時,變數的記憶體通常在每次進入該局部變數的範圍的時候分配並且在離開的時候釋放。這類儲存稱之為自動儲存或者通過修士關鍵字auto修飾4、static關鍵字ixushide變數在生ing的時候分配記憶體,所以在程式運行期間只會分配一次記憶體,以後每次訪問該
Time of Update: 2018-12-05
好長時間沒有整objective-c了,都差不多忘光了.也沒有系統的學習與編碼,之前只是看書而已,現在有了機器卻一直沒有學,需要重新拿起來...http://www.cnblogs.com/liuzenglong/archive/2012/08/02/2619274.html http://www.cnblogs.com/liuzenglong/archive/2012/08/09/2629600.html 之前的兩篇博文... 準備在元旦之前利用業餘時間搞完<Objective-C程式設計語言
Time of Update: 2018-12-05
應當使用:@property (nonatomic, copy)今天在這個問題上犯錯誤了,找了好久才知道原因。另外,簡單的進行反組譯碼看了下,Block 被儲存在靜態變數區,運行時構造出一個運行棧,進行調用。retain 並不會改變 Block 的引用計數,因此對 Block 應用 retain 相當於 assign。但是既然在靜態儲存區,為什麼會出現 EXC_BAD_ACCESS 呢?代碼都在的呀。網上都說 Block 在棧上,這應該是錯誤的:指向 Block
Time of Update: 2018-12-05
由於Cocoa Framework中的Foundation中的NSObject所提供的performselector方法最多隻能傳兩個資料參數,如果要傳更多的參數,其中一個比較簡單的方法是使用Runtime的id objc_msgSend(id self, SEL op, ...)運行時函數。為了要加入運行時函數的聲明,在OS X下需要包含標頭檔:#import <objc/objc-runtime.h>;在iOS下需要包含標頭檔:#import
Time of Update: 2018-12-05
protocol應用兩個controller之間或者controller與自訂UIView之間的相互調用。 它的應用類似java或者C#裡的interface。假設A調用B,B回調A,那麼就可以如此設計: 首先:定義一個protocal: @protocol PtlChart@optional-(void) callBack:(id)arg;@required-(void) loadData;@end
Time of Update: 2018-12-06
Automatic Reference Counting(ARC)是iOS 4.0以上,在Xcode 4.2以上建立工程時可以選擇開啟的記憶體管理功能。看上去是可選擇功能,但開啟後對編程有較大影響,所以值得仔細考究一番。 首先,正如 Automatic Reference Counting名稱所表達的意思,自動引用計數並不是垃圾自動回收,並非如JavaScript中,只管聲明變數或成員,而由解譯器自動地決定其是否釋放。在ARC下有如下限制:release是不可調用的,dealloc不可直接調用,
Time of Update: 2018-12-06
Objective-C與其它物件導向有這明顯的不同,它有這自己鮮明的特色,下面我們從這個方法介紹它的特點:相容性、字串、類、方法、屬性、協議和分類。1. 相容性Objective-C可以說是一種物件導向的C語言,在Objective-C的代碼中可以有C和C++語句,它可以調用C的函數,也可以通過C++對象存取方法。2. 字串Objective-C通常不使用C語言風格的字串。大多數情況下是使用Foundation架構的NSString類型的字串。