Time of Update: 2018-12-07
首先聲明這篇文章來源於園子裡,並非本人原創!地址:http://kb.cnblogs.com/page/91507/Objective-C是一種簡單的電腦語言,設計為可以支援真正的物件導向編程。Objective-C通過提供類定義,方法以及屬性的文法,還有其他可以提高類的動態擴充能力的結構等,擴充了標準的ANSI
Time of Update: 2018-12-07
property大概是objc中唯一的元編程機制,用來快速地產生類的資料成員的get和set方法。本文談談我對property的一些使用心得。1)retain,copy和assign:retain的作用在於產生set方法時該資料成員(一定是objc對象)的引用計數+1,通常用於除NSString類型以外的objc對象。如- (void)setMember:(Member *)member{[member_ release];member_ = [member
Time of Update: 2018-12-07
1、字串轉換為日期 NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//執行個體化一個NSDateFormatter對象 [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//設定時間格式,這裡可以設定成自己需要的格式 NSDate *date =[dateFormat dateFromString:@"1980-01-01 00:00:01"
Time of Update: 2018-12-07
5.各種數值NSArray和NSDictionary只能儲存物件,而不能直接儲存任何基本類型的資料,如int、float 或 struct。但是你可以用對象來封裝基本數值。例如,將int型資料封裝到一個對象中,然後就可以將這個對象放入NSArray或NSDictionary中了。1)NSNumberCocoa提供了NSNumber類來封裝(即以對象形式實現)基礎資料型別 (Elementary Data Type)。例如以下建立方法:Code highlighting produced by
Time of Update: 2018-12-07
接上文,稍微底層一點的函數,我們對此進行簡單的封裝,以至於可以更加方便的使用。 代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
NSArray _sectionDataStr;_sectionDataStr = [[NSArray alloc] initWithObjects: [NSArray arrayWithObjects:@"Item1", @"Item2", nil], [NSArray arrayWithObjects:@"Item1", @"Item2", @"Item3", nil],
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-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
這篇文章介紹了Objective-C比較底層的內容,主要講解initialize和init方法的區別。從這篇文章中我們不光可以瞭解Objective-C在初始化時所做的事情,更可以學習到一些如何研究Objective-C語言內部到底做了什麼的方法,這樣你也可以自己對更深層次的內容進行探尋。 Objective-C很有趣的一個地方是,它非常非常像C。實際上,它就是C語言加上一些其他擴充和一個已耗用時間(runtime)。
Time of Update: 2018-12-07
由於在Objective-C中可以編寫多種形式的源檔案,因此可以通過不同的副檔名來區分,表2-1所示為副檔名說明:表2-1 副檔名說明表副檔名說 明備 注.cC語言來源程式檔案 .cc或.cppC++語言來源程式檔案 .h標頭檔 .mObjective-C 來源程式檔案程式碼封裝含有Objective-C和C的語句.mmObjective-C++來源程式檔案程式碼封裝含有Objective-C和C++的語句.o編譯之後的檔案
Time of Update: 2018-12-06
第一、二章 OC基礎文法iPhone開發教程 第一章 OC基礎文法 iPhone開發概述-必看(1.1)http://www.apkbus.com/android-102215-1-1.htmliPhone開發教程 第二章 iPhone開發之開發工具安裝及介紹(2.1) http://www.apkbus.com/android-102218-1-1.htmliPhone開發教程 第二章 iPhone開發之OC變數和基礎資料型別 (Elementary Data Type)(2
Time of Update: 2018-12-07
著作權聲明此文著作權歸作者Vince Yuan (vince.yuan#gmail.com)所有。歡迎非營利性轉載,轉載時必須包含原始連結http://vinceyuan.cnblogs.com,且必須包含此著作權聲明的完整內容。 版本 1.1 發表於2010-03-08 三 @property (retain)和@synthesize的預設實現在這裡解釋一下@property (retain) ClassB* objB;和@synthesize objB;背後到底發生了什麼(retain
Time of Update: 2018-12-07
我想在XCode上調用C++的代碼,我這這裡小結一下我的方法,Hello類只是為Objective-C調用C++做的一個封裝。但是我感覺這樣太不方便了,如果C++的代碼很多的時候,這樣做就很不好,期待有人給出好的解決方案,文章最後有這個Demo的原始碼。參考文章:http://blog.csdn.net/zhouhuiah/article/details/6426158寫講解一下這個Demo的內容1,建立一個項目,我選的是“Single View
Time of Update: 2018-12-07
#import<Foundation/Foundation.h>int main(int argc, char *argv[]){ if (argc == 1) { NSLog(@"you need to provide a file name"); return 1; } FILE* file = fopen(argv[1], "r"); char words[100]; while (fgets(words, 100
Time of Update: 2018-12-07
免責申明(必讀!):本部落格提供的所有教程的翻譯原稿均來自於互連網,僅供學習交流之用,切勿進行商業傳播。同時,轉載時不要移除本申明。如產生任何糾紛,均與本部落格所有人、發表該翻譯稿之人無任何關係。謝謝合作!原文連結地址:http://www.raywenderlich.com/2712/using-properties-in-objective-c-tutorial教程: 這是在iphone上面使用objc,與記憶體管理有關的第三篇教程。 在第一篇教程中,我們介紹了在objective-c裡
Time of Update: 2018-12-07
過了這一關,接著是 ⇒ 熟悉平台類庫 ⇒ 研究事件處理 ⇒ 常用控制項,然後就能開發APP了 哈哈。1、#import #import <ファイル名> #import "ファイル名" C言語の#includeとの違いは、一度インクルードされたファイルは再度インクルードされない點です。2、クラス ・オブジェクト・メソッドの宣言は、頭に「-」 ・クラス・メソッドの宣言は、頭に「+」 /* クラスの宣言部 「.h」ファイル */ @interface クラス名 : 親クラス名
Time of Update: 2018-12-07
Objective-C中,有一些我們之前並不熟悉但是經常見到的資料類型,比如id、nil、Nil、SEL等等。在很多文章裡,我們都見過這些資料類型的介紹,但是都沒有說的太清楚。 這篇文章從最底層的定義開始,介紹一下這些類型到底是怎麼定義的,這會協助我們更加深入地瞭解Objective-C。 原文作者為Greg
Time of Update: 2018-12-07
nil只能被應用在id類型的地方,就是Java與C++中指向對象的指標。而NULL用於非對象指標。請看如下執行個體: -(void)observeValueForKeyPath NSString *)keyPath ofObject id)objectchange:(NSDictionary *)change context:(void *)context 形參context是null 指標類型,是一個C類型指標,所以用NULL定義,null 指標類型有時被聲明為(void *)0 ,
Time of Update: 2018-12-07
1. 標頭檔依然是.h2. .cpp變成了.m3. #import代替了#include,#import保證只會引用一次,相當於.h裡的#ifndef #define #endif模式4. 用@interface … @end來聲明類,取代class ClassName{}5. 用@implementation … @end來實作類別6. Data Members放在@interface ClassName : Parent{ …