Time of Update: 2014-07-26
標籤:ios objective-c runtime objc_class class Objective-C objc_class 介紹NSObjectObjective-C 中 NSObject是大多數類的根類。@interface NSObject <NSObject> { Class isa
Time of Update: 2018-12-06
通過NSEnumertor來遍曆數組元素代碼如下:NSArray *array=[NSArray arrayWithObjects: @"one",@"two",@"three",nil]; NSEnumerator *enumerator;enumerator = [array objectEnumerator];id thing;while (thing=[enumerator nextObject]) {NSLog(@" I have get some value %@",thing);}
Time of Update: 2018-12-07
在 object-c 中,selector 包含兩種意義:在源檔案中,它指向一個方法調用,在編譯後它指向一個 unque indentifier。編譯後的 selector 的類型為 SEL,同名的方法的選取器也相同。使用 selector 來調用object 方法是 Cocoa 架構 "目標-動作" 編程模型的基礎。可以使用 @selector 來為 selector 建立一個別名:SEL setWidthHeight;setWidthHeight =
Time of Update: 2018-12-06
文章目錄 安裝開發執行Make參考 我也是黑蘋果一族,不買 Mac 的原因各不相同,這裡就不說了。即便是裝了黑蘋果,由於需要在 Windows 上長時間工作,就想能不能在 Win 上弄個 OC 的編譯環境,這樣可以方便學習 OC,省的來回切換。這篇文章的大部分內容均來自於網上,具體可參見《參考》部分。本文是作者在實際使用後整理所得,如有疏漏,請不吝賜教,謝謝。安裝上網搜了搜,這方面的資料真是不少,必備的東東是 GNUstep
Time of Update: 2018-12-07
先承認我是標題黨,因為在obj-c的世界中,官方根本沒有"介面"與"泛型"這樣的說法。不過在obj-c中有二個與之接近的概念"非正式協議(interface)"與"正式協議(protocal)"。非正式協議在obj-c中的關鍵字雖然也是interface,但是這個跟c#中的介面(interface)並不完全相同。回憶一下前面學過的內容,我們定義一個類Sample時,總是會先產生一個Sample.h,代碼如下:#import
Time of Update: 2018-12-06
//可變數組NSMutableArray *ma = [NSMutableArray arrayWithCapacity:7];[ma addObject: @"wtq"];[ma addObject: @"wtp"];[ma addObject: @"www"];for (int i = 0; i<[ma count]; i++) {NSLog(@"value %@",[ma objectAtIndex:i]);}[ma
Time of Update: 2018-12-06
在使用諸如NSLog, [NSString stringWithFormat:]之類的函數時,都是基於c/c++風格的字串格式化工作的. 本來c/c++就沒怎麼用過,到iphone開發開發時摻合上NS系的對象,格式化輸出更是一頭的亂. 看了一下Programming Guide for Cocoa的文檔,還是有比較詳盡的說明的,整理出來備查.格式定義 The format specifiers supported by theNSString formatting methods and
Time of Update: 2018-12-07
從 XCode 4.2 開始 Objective-C 支援 ARC,對於廣大 iPone 開發人員來說是巨大的福音,不用面對滿屏 [obj release] 和 [pool drain] 這類醜陋不堪的代碼了,更重要的是不用整天為對象釋放問題搞得寢食難安。但對於許多從 C++ 轉到 ObjC 的開發人員來說,其實更喜歡 Obj-C++ 混編。Cocoa 負責介面展現,C++ 負責商務邏輯實現,組合起來十分完美。 問題是 Obj-C++ 能否完美支援 ARC 呢,特別是把 ObjcC
Time of Update: 2018-12-06
作者:不及格的程式員-八神在蘋果開發平台使用多年的Objective-C 具有非常獨特的文法.如果拿它的語言特性來比較 C#(先不說Java),那簡直一個天上,一個地下. 但如果比較應用環境,它最美.聲明1個類,調用一個方法,單從敲擊鍵盤次數來說就會是C#的兩倍以上,你信不?下面來認識Objective-C的基本形態文法簡介:聲明類@interface Car : NSObject{ -(void) Go ; //執行個體方法 -(void) Turn :(int)
Time of Update: 2018-12-06
IOS中重載可以通過兩種方式:1、不同的參數個數。2、參數個數不變的情況下修改至少一個參數的名稱。 好奇怪的重載方式,就算修改了傳回型別也不能實現重載。 - (NSInteger) method1:(NSInteger)param1{ return param1;}- (NSString*) method1:(NSString *)param1andParam2:(NSString *)param2{ return result;}
Time of Update: 2018-12-06
1、如果想建立執行個體方法使用“-”,類方法用“+ "。2、選擇一個傳回型別,用括弧包住這個類型。(void)意味著沒有傳回值, (BOOL)意味著返回一個boolean類型的值。 (NSObject *)返回一個NSObject執行個體,別忘記(id)。3、給方法起個名字,通常用小寫字母開頭,例如:sendEmailTo 。4、如果你不想使用參數直接跳轉到9。5、(oc非常噁心但是同樣是非常有意義的機制)給你的參數選擇兩個名字,第一個會變成方法名稱的一部分,然後被用於外部調用時(這個是可選的,
Time of Update: 2018-12-06
1、實際上OC中繼承與C#基本一直,都是在定義類的時候加:和父類名稱,即:myClass:parentClass.2、同樣只能單繼承。3、在屬性的使用上有點奇怪,如果在父類parentClass中定義一個屬性為
Time of Update: 2018-12-07
**以下內容中 interface 指代傳統意義上的介面, 而@interface 指代 Objective-C 中的類型規範概念,以免混亂。看到這一章,有點奇怪,其實只要將 protocal 當作 C# 裡面的介面來認識就好了。因為 Objective-C 給每個 Class 都分配了一個 @interface ,因此用這人概念來表達 interface 的意思。抽象出介面的目的:1. 相似方法組的實現有共同的規範。2. 讓“介面”獨立於類。3. 封裝沒有繼承關係的類的共性。if (
Time of Update: 2018-12-07
本節討論了如何使用申明屬性與系統內部實際使用了自動產生的方法用作屬性訪問的介面,由此引入的執行個體變數管理等等問題。使用申明屬性 declared properties 可以方便地實現訪問器方法 accessor methods.申明屬性為訪問器方法行為提供一種清晰,明確的規範。編譯器幫你將申請屬性擴充為訪問器方法實現以短減你書寫的代碼量。申明屬性也是一類別識別項並且有自己的範圍,因此編譯器可以探測到未申明的屬性。文法:@property(attributes) type
Time of Update: 2018-12-07
原文地址:http://amattn.com/2011/10/15/the_disposition_of_objective-c.html 筆者經過十年的Objc編程,在此談一些對Objc的評論。冗長(Verbose)
Time of Update: 2018-12-06
在iOS開發之Objective-C與JavaScript互動操作 中我們可以通過stringByEvaluatingJavaScriptFromString 去實現在obj-C中擷取到相關節點屬性,添加javascript代碼等功能。但是我們如何監聽到javascript的響應事件呢。在MAC
Time of Update: 2018-12-06
OC中建立對象的方法有兩種: [類名 new] [[類名 alloc] int]分配和初始化是兩個分離的操作:來做NSObject的類方法alloc為對象分配一塊記憶體地區並將其清零,執行個體方法init用於獲得一個對象並使其運行一、指派至 分配:allocaton [,æləu'keiʃən] n. 分配,配置;安置:從作業系統獲得一塊記憶體並將其指定為存放對象執行個體變數的位置 alloc:某個類發送alloc訊息時就是為該類分配一塊足夠大的記憶體,以存放該類的全部執行個體變數,
Time of Update: 2018-12-06
iPhone開發視頻教程-Objective-C語言教程-第1講-基本文法 iPhone開發視頻教程-Objective-C語言教程-第2講-點文法 iPhone開發視頻教程-Objective-C語言教程-第3講-記憶體管理1-黃金法則iPhone開發視頻教程-Objective-C語言教程-第4講-記憶體管理2-retain點文法iPhone開發視頻教程-Objective-C語言教程-第5講-記憶體管理3-MyArray iPhone開發視頻教程-Objective-C語言教程-第6講-記
Time of Update: 2018-12-07
前幾天看到一篇介紹python的文章:如何讓python變得更快——http://www.codeproject.com/Articles/522217/Howplustoplusmakepluspythonplusfaster,這篇文章勾起了我的好奇心,同樣的演算法多種程式設計語言在Mac的OS
Time of Update: 2018-12-07
過了這一關,接著是 ⇒ 熟悉平台類庫 ⇒ 研究事件處理 ⇒ 常用控制項,然後就能開發APP了 哈哈。1、#import #import <ファイル名> #import "ファイル名" C言語の#includeとの違いは、一度インクルードされたファイルは再度インクルードされない點です。2、クラス ・オブジェクト・メソッドの宣言は、頭に「-」 ・クラス・メソッドの宣言は、頭に「+」 /* クラスの宣言部 「.h」ファイル */ @interface クラス名 : 親クラス名