Time of Update: 2018-12-05
話說學習Object-c有很多入門書籍,在這裡就不一一列舉了。但是這些書都有一個小毛病,就是翻譯的語句,有的時候很讓人費解。前幾天在逛cocoachina的時候看到了一個文章,以為名為beanwolf的會員寫了原創的學習Object-c的筆記,拜讀之後感覺非常好!感覺寫的很精練,都是編程的時候需要注意的東西和不容易理解的內容。 第一季:《Object-C 的文法與 Cocoa 架構》GNUStep 的安裝類定義Object-C 中的布爾類型Object-C 中的 null與
Time of Update: 2018-12-05
在使用Objective-C語言進行了一段時間的iOS開發之後,發現自己的語言基礎相對薄弱,於是開始彌補自己的短處。我發現在用過一種語言之後,再回過頭來看它的很多原理會發現有更加深刻的理解。下面就對一直困惑我的屬性和成員變數的用法和關係問題進行淺析,由於水平有限可能會有錯誤,請看過文章的人多多指正。1、屬性 關於屬性的用法在蘋果的官方文檔《The Objective-C Programming Language》中有詳細的說明,在這裡就不再贅述,連結如下: 《The
Time of Update: 2018-12-05
http://www.codeios.com/thread-26-1-1.html因為iOS SDK相對比較底層,所以開發人員就得受累多做一些體力活。不過幸運的是,有很多第三方的類庫可以用來簡化很多不必要的工作.經過作者團隊的謹慎討論,他們 評選出了10款能夠極大提高iOS開發效率的類庫,根據原文作者的評價來看,基本上有了這10款工具,做iOS開發就真的跟泡Cocoa一樣了。1. MBProgressHUD -
Time of Update: 2018-12-05
1.為什麼要管理記憶體 系統資源有限,會為每個程式分配30M的記憶體,超過20M會收到記憶體警告,超過30M,sorry系統將會終止你的應用程式。 1)記憶體管理機制 ObjC中提供了一個機制來實現上面提到的這個邏輯模型,它被稱為“引用計數”(retain counting): 每一個對象都有一個引用計數(retain count) 對象被建立的時候,引用計數的值是1
Time of Update: 2018-12-05
Objective-C 支援全域變數,主要有兩種實現方式:第一種和C/C++中的一樣,使用"extern"關鍵詞;另外一種就是使用單例實現。(比如我們經常會把一個變數放在AppDelegate裡面作為全域變數來訪問,其中AppDelegate就是一個單例類) 在Objective-C中如何?像C++中那樣的靜態成員變數呢?你需要做的是在一個類A的implementation(.m或者.mm)檔案中定義一個static變數,然後為A類定義靜態成員函數(class
Time of Update: 2018-12-05
轉載請標明出處:blog.csdn.net/zhangxingping關於屬性 在C++中,通常需要編寫Getter和Setter方法來擷取或者是設定執行個體變數的值。這兩種方法需要在程式中顯示的完成。這種方式在Objective-C中也是適用的。但是Objective-C提供了一種更為便捷的方式來完成這種功能。它就是屬性。和C++中的顯示的Getter和Setter方法相比,屬性機制使得Getter函數和Setter來的更容易和更簡化。Objectivc-C中的屬性是通過關鍵字@
Time of Update: 2018-12-05
原文地址:http://howtomakeiphoneapps.com/2009/05/for-and-foreach-loops-in-objective-c/ Loops are the gears of programming: they make your code take action.The two loops I use most often is the for loop (to do a predefined number of steps) and what is
Time of Update: 2018-12-05
學習書目:Learn Objective-C on the Mac obj中建立新對象有兩種方式:[classname new]和[[classname alloc] init]。兩種方法等價,Cocoa慣例是使用alloc和init。 1.指派至: allocation是一個新對象誕生過程,從OS獲得一塊記憶體並指定為存放對象的執行個體變數的位置。同時alloc方法還將這塊記憶體地區全部初始化為0。BOOL初始化為NO,int初始化為0,float初始化為0.0
Time of Update: 2018-12-05
我們繼續就《Objective-C 分離介面和實現檔案》一文中的 Fraction 類說事。如果有一個方法能夠只用一條訊息即可設定 numerator 同時又可設定 denominator,那該有多好啊!沒問題,通過列出每個連續的方法並用冒號將其連起來,就可以定義一個接受多個參數的方法。用冒號串連的參數將成為這個方法名的一部分。例如,方法名 addEntryWithName: andEmail: 表示接收兩個參數的方法,這兩個參數可能是姓名和電子郵件地址。方法 addEntryWithName:
Time of Update: 2018-12-05
鎖是線程編程同步工具的基礎。鎖可以讓你很容易保護代碼中一大塊地區以便你可以確保代碼的正確性。 1 使用POSIX互斥鎖
Time of Update: 2018-12-05
cocos2d-x學習交流群:140326755Email :
Time of Update: 2018-12-05
在Objective-c中,當一個類需要引用另一個類,即建立複合關係的時候,需要在類的標頭檔中建立被引用類的指標。 如:Car.h#import @interface Car:NSObject{ Tire *tires[4]; Engine *engine;}...實作類別我們先省略,如果你直接這麼編譯,編譯器會報錯,告訴你它不知道Tire和Engine是什麼。這時候有兩個選擇,一個是import這兩個被引用類的標頭檔,另一個是使用@class聲明Tire和Engine是類名。
Time of Update: 2018-12-05
文章目錄 範圍 幾何資料類型 範圍typedef struct _NSRange{unsigned intlocation;Unsigned intlength;} NSRange;這個結構體用來表示相關事物的範圍,通常是字串裡的字元範圍或者數組的元素範圍,location用來表示起始位置,length表示該範圍所含元素的個數。例如有一個字串“Myname is
Time of Update: 2018-12-05
文章目錄 建立字串類方法擷取大小比較的策略 不區分大小寫比較如何判斷字串裡面還包含其他字串 NSString在前面已經說過是,是Cocoa中用來處理字串的類。下面就是NSString的一些常用方法及操作: 建立字串NSString的stringWithFormat:方法就是通過格式字串和參數建立NSString的:+ (id) stringWithFormat: (NSString *)
Time of Update: 2018-12-05
第一次接觸到委託是在學習《大話設計模式》的時候碰到的,我是一名Javaer,那本書是.Net的,裡面提到了委託這個概念,並且有相應的用法與支援,當時覺得挺奇怪,怎麼Java中沒有遇到過呢?後來才知道,Java沒有明確的相應支援,感覺委託很像依賴,彙總,代理,事件監聽,所以很長一段時間沒有去真正的搞明白它,以為這些就是委託,今天學習到Objective-C中的委託的時候,才發現這些不是,仔細的研究再加上與Java相結合最後自己得出了委託的定義,雖然很像之前說的那些方式,但還是有一定的區別:
Time of Update: 2018-12-05
1 前言Objective-C類別提供了一種不同於其他語言的方式,動態給已經存在的類添加新功能的能力,需要添加功能時候再逐步增加累的方法,類別也京城可以作為類的私人函數進行使用。標頭檔和實現檔案名稱統一採用“已有類名+副檔名”的格式,例如:NSString+VowelsCounting.h。2 代碼執行個體main.m#import <Foundation/Foundation.h>#import "NSString+VowelsCounting.h"int main(int
Time of Update: 2018-12-05
Objective-C中有幾種資料類型和C不太一樣。特此記錄。- id 是一個指標類型,可以指向任何類型的對象- BOOL和char是一樣的,但是做為布爾值使用。 YES 表示1 NO 表示0- IBOutlet 是個沒有任何意義的宏,可以忽略。當Interface Builder從.h檔案中讀取類定義時,這個宏會對其做出一個提示。- IBAction和void是一樣的,同樣僅用作對Interface
Time of Update: 2018-12-05
OC中的關鍵字,@property與@synthesize配對使用。文法:@property (參數1,參數2) 變數類型 變數名@synthesize 變數名功能:讓編譯器自動編寫一個與資料成員同名的方法聲明,這樣可以省去聲明讀寫方法。例如:// 在標頭檔中@property NSInteger number;// 在實現檔案中@synthesize number;等同於:// 在標頭檔中- (void)setNumber:(NSInteger)newNumber;-
Time of Update: 2018-12-05
#import <Foundation/Foundation.h> int main(int argc, char *argv[]){ @autoreleasepool{ NSLog(@"Hello World!"); } return 0;} c++ 中類與方法在編譯的時期就已經確定 objecTive——v 類->訊息 :運行時期確定,如果沒有拋出exception 比如:[obj method: argument];
Time of Update: 2018-12-05
KVO 索引值觀察者模式是cocoa的一個重要機制類似Notification模式。當被觀察者屬性發生改變時觀察者做相應的操作。建立一個Person類繼承NSObject,添加name和age屬性,接著建一個PersonObserver類繼承於NSObject同時實現- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *