Time of Update: 2015-12-24
標籤: NSArray、NSDictionary是不可以儲存C語言中的基礎資料型別 (Elementary Data Type)的。NSNumber可以將基礎資料型別 (Elementary Data Type)封裝成對象,這樣可以間接將基礎資料型別 (Elementary Data Type)存進NSArray、NSDictionary等集合類中。用法如下:#import <Foundation/Foundation.h>void number() { //
Time of Update: 2015-12-24
標籤: NSNumber是NSValue的子類,前者只能封裝數字,後者可以封裝任意值。NSArray、NSDictionary只能儲存OC對象,不能儲存結構體。因此,如果想要在NSArray、NSDictionary裡放結構體,可以曲線救國,將結構體封裝成OC對象,再放到NSArray、NSDictionary等集合類中。void value() { CGPoint point = CGPointMake(10, 10); // 將結構體變數封裝成一個對象 NSValue *
Time of Update: 2015-12-19
標籤:提示:前面的較為常用1、建立字串執行個體方法:?- (instancetype)initWithFormat:(NSString*)format格式化產生一個字串對象?此方法較為常用,功能強大,用法:[[NSString alloc]initWithFormat:@"i am student at %@ of Technology?",@"GuangDongUniversity"];- (instancetype)
Time of Update: 2015-12-06
標籤:開發人員通過對象來 儲存並傳遞資料。在對象之間傳遞資料並執行任務的過程就叫做“訊息傳遞”。這兩條特性的工作原理?Objective-C運行期環境(Objective-C runtime) ,提供了使得對象之間能夠傳遞訊息的重要函數,並且包含建立類執行個體所用的全部邏輯。第六條:理解“屬性”這一概念property:Effective Objective-C 2.0 — 第二章 對象、訊息、運行期 - 第六條:理解“屬性”這一概念
Time of Update: 2015-12-07
標籤:一、注釋 1. 注釋是什嗎?注釋就是在代碼中一段用來說明的,不執行的字串。2. 注釋的定義?在 OC 中,我們使用雙斜杠“//”來表示單行注釋,在一句代碼的最開始處加上雙斜杠(//)即可。//NSLog(@"這行代碼是單行注釋");我們還使用“/*”和“*/”表示多行注釋。/*NSLog(@"窗前明月光");NSLog(@"疑是地上霜");NSLog(@"舉頭望明月");NSLog(@"低頭思故鄉");*/3
Time of Update: 2015-12-06
標籤:一、傳統的get方法和set方法 在Java中,我們可以通過"對象名.成員變數名"來訪問對象的公用成員變數,這個就稱為"點文法"。在正式學習OC的點文法之前,先來看一下傳統的get方法和set方法。定義一個Student類,擁有一個成員變數age和對應的get\set方法。 Student.h 1 #import <Foundation/Foundation.h> 2 3 @interface Student : NSObject { 4 int age; 5 }
Time of Update: 2015-12-05
標籤:今天學習的內容比較少,主要是老師通知要確定畢設的題目,找了一些資料,最終決定做一個路線記錄的APP。一些快捷操作:全部禁用所有斷點,command + Y.h和.m檔案切換,comand + control + upArrow/dowArrow注釋當前行command + ,格式化代碼control + iOC中的OOP[email protected]部分 定義類的公用介面,聲明類[email protected]部分 可以理解為interface部分具體的實現&
Time of Update: 2015-12-05
標籤:理解Method Swizzling是學習runtime機制的一個很好的機會。在此不多做整理,僅翻譯由Mattt Thompson發表於nshipster的Method Swizzling一文。Method Swizzling是改變一個selector的實際實現的技術。通過這一技術,我們可以在運行時通過修改類的分發表中selector對應的函數,來修改方法的實現。例如,我們想跟蹤在程式中每一個view controller展示給使用者的次數:當然,我們可以在每個view
Time of Update: 2015-12-05
標籤:基礎資料類型SELSEL又叫選取器,是表示一個方法的selector的指標,其定義如下:typedef struct objc_selector *SEL;objc_selector結構體的詳細定義沒有在<objc/runtime.h>標頭檔中找到。方法的selector用於表示運行時方法的名字。Objective-C在編譯時間,會依據每一個方法的名字、參數序列,產生一個唯一的整型標識(Int類型的地址),這個標識就是SEL。如下代碼所示:12SEL sel1 =
Time of Update: 2015-11-25
標籤: 一、@dynamic與@synthesize的區別@property有兩個對應的詞,一個是@synthesize,一個是@dynamic。如果@synthesize和@dynamic都沒寫,那麼預設的就是@syntheszie var = _var; @synthesize的語義是如果你沒有手動實現setter方法和getter方法,那麼編譯器會自動為你加上這兩個方法。
Time of Update: 2015-11-24
標籤: 程式檔案分為標頭檔(.h)和實現檔案(.m);使用#import關鍵字將所需的標頭檔匯入程式,並且可以避免程式重複引用相同的標頭檔;@autoreleasepool { … } 自動釋放池;符號“@”被廣泛使用,體現Objective-C的新特性;使用NSLog執行控制台列印輸出內容(例如:NSLog(@”Hello