objective-c中的特性

標籤:一,retain, copy, assign區別 概念: assign: 簡單賦值,不更改索引計數(reference counting)。 copy: 建立一個索引計數為1的對象,然後釋放舊對象 retain:釋放舊的對象,將舊對象的值賦予輸入對象,再提高輸入對象的索引計數為1 例: 1 NSString *pt = [[NSString alloc]

Objective-C中集合類

標籤:iOS中集合類與數學中的集合一樣,集合中元素必須是唯一的,儲存元素是無序的,儲存元素必須是物件類型.集合分為不可變集合(NSSet)和可變集合(NSMutableSet)不可變集合(NSSet)建立集合對象1 1 NSSet *set = [NSSet setWithObjects:@"a", @"p", @"p", nil];2 2 NSLog(@"set: %@", set);3 // 擷取集合中元素個數4 3 NSLog(@"count: %ld", set.count);5 //

Objective-C中字典類

標籤:字典是用於儲存具有映射關係(key-value對)的資料集合.一個key-value對認為是一個條目(Entry),字典是儲存key-value對的容器.字典類的特點與數組不同,字典靠key存取元素;key值不能重複,value必須是對象;索引值對在字典中是無序儲存的.字典分為不可變字典(NSDictionary)和可變字典(NSMutableDictionary).不可變字典(NSDictionary)字典一旦建立,索引值對不可更改,不可添加,

Objective-C 之 Literals(字面量)

標籤:今天整理一下關於Objective-C Literals的內容,Literals翻譯成字面量或者字面值,就是直接被寫到原始碼中的值。這不是一個陌生的概念,我們在寫程式的時候能頻繁的見到。我們很早就見過NSString 字面量了:     NSString *greeting = @"Hello

Objective-C 方法重載 - Selector 標識起決定作用

標籤:Objective-C 方法重載 - Selector 標識起決定作用太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商業用途-保持一致”創作公用協議轉載請保留此句:太陽火神的美麗人生 -  本部落格專註於 敏捷開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。重載方法聲明:- (void)test;-

objective-c(架構)

標籤:架構指objective-c的foundation庫,下面的例子中給出幾個常見用的類及其方法。數值對象 NSNumber *intNum; NSNumber *longNum; NSNumber *floatNum; intNum = [NSNumber numberWithInteger:12]; NSLog(@"%i", [intNum integerValue]);

瞭解Objective-C中NSAutoreleasePool使用方法

標籤:本文的目的是來瞭解Objective-C中NSAutoreleasePool使用方法,Objective-C的Foundation庫實際上是種運行級對象系統,與一般的對象語言,例如C++,Java不一樣,而與COM或者Corba一樣,對象,不一定建立在使用者應用程式的地址空間中,有可能是建立在另一個地址空間中,甚至建立在別的機器上!所以,Objective-C的對象(全部繼承自NSObject),就是使用引用計數的方法來管理對象的存活,眾所周知,當引用計數為0時,對象就被銷毀了。操作非常簡

objective-c(記憶體管理)

標籤:本文主要記錄objective-c

Objective-C基礎6 : 類別category

標籤:1.為什麼要有類別?在現有類的基礎上做擴充,可以採用繼承和組合兩種方法來實現,但是OC為什麼還要有類別這種方式呢?想想這樣一個應用情境,要建立一個字典,key是字串,value是字串的長度。一般的做法是: NSMutableDictionary *dict = [NSMutableDictionary dictionary]; NSString* str = @"hello"; NSNumber* num1 = [NSNumber

Objective-C基礎5 : 屬性@property

標籤:1.類裡面經常有一些變數需要進行set和get操作,OC中提供了方便的屬性@property來替換set和get方法,這樣能減少頻繁且簡單的重複代碼。如下代碼:@interface Person : NSObject@property NSString* strName;@property int nAge;@end@implementation Person@synthesize strName;@synthesize

Objective-C基礎3:記憶體管理續

標籤:1.上篇我們講了OC中的記憶體管理基礎,我們再總結一下何時該用記憶體管理。1)當用new、alloc、copy建立對象時,必須要釋放對象。2)當擁有對象時,如果是臨時對象,不需要釋放;當需要長時間保留對象時,必須保留對象並且在dealloc方法中釋放對象。2.OC中的記憶體回收機制OC2.0引入了記憶體回收機制,也就是啟用了記憶體回收機制之後,我們忘記了釋放對象,OC會幫我們釋放對象,這點可看出OC比C++的強大之處了。記憶體回收機制主要原理是在運行中定時動態跟蹤對象,檢查對象的引用技術並

Objective-C基礎2:記憶體管理基礎

標籤:1.記憶體儲存地區C、C++裡面。棧區:儲存臨時變數和對象。堆地區:儲存動態指派至。靜態變數儲存區:儲存靜態變數和常量對象。OC裡面的記憶體儲存地區跟C、C++一樣。2.為什麼要進行記憶體管理寫過C、C++程式的都知道,記憶體管理永遠是C++程式的一大痛點,項目當中崩潰全部來自於記憶體相關的操作,尤其是指標操作和記憶體操作,稍不注意就會產生記憶體訪問違規造成程式崩潰。那麼如何進行記憶體管理呢,個人認為有以下幾點原則:盡量用系統提供給我們的封裝對象,不要用原生的,比如用string而不要用c

CocoaPods一個Objective-C第三方庫的管理利器

標籤: CocoaPods一個Objective-C第三方庫的管理利器分類: iOS開發入門2012-11-19 14:17 40945人閱讀 評論(10) 收藏 舉報 目錄(?)[+] 介紹:開發應用的時候第三方的庫是不可缺少的,能提高開發的效率。 一些經常用到的庫,在新的項目裡用是,你又得手工的Add到項目裡,用的到庫多起來了,就不方便管理了。發現CocoaPods這個軟體,可以幫你管理Xcode裡的第三方的庫,

Objective-C的開發環境

標籤:【環境搭建前言】開發環境必須搭建再Apple公司的Mac OS 系統上。因此無論採取何種方式,首先至少需要一台裝有Mac OS 系統的電腦。您可以通過購買Apple 電腦或者為PC機安裝黑蘋果來獲得Mac OS。 【下載安裝XCode工具】您可以在Mac OS 中的 Apple Store 直接下載XCode, 也可以通過蘋果開發人員網站 來下載XCode 。下載的XCode組件囊括了XCode IDE、IOS SDK、Iphone&Ipad

Objective-C 的一些優點

標籤:雖然 Objective-C 的文法是如此的與眾不同,讓初學者如此的不爽,但是其實它還是有很多優點的(主要是對比 JAVA)。協議 Protocal其實也就是介面啦,不過由於 OC 在定義 class 的時候已經用了 interface 這個名字,所以這裡就叫 protocal 了。協議我覺得有兩大優點:1. 允許非正式協議:讓我想起了前段時間看的 GO 語言的介面定義方式。就是說,當一個 class 並沒有顯式的聲明某個協議的時候,只要它實現了相應的方法,那麼就可以被當作相應的協議來用。

Objective-C基礎1:OC中類的繼承和組合

標籤:1.類的定義和聲明OC中的類聲明是以@interface開始@end結束。OC中的類定義以@implementation開始@end結束。OC中的方法聲明:- (void) setName : (NSString*) strName;前面的短線-表示這是一個方法,(void)表示傳回值, setName表示方法名稱,(NSString*)

Objective-C三大特性之一:繼承

標籤:一,繼承文法形式:@interface 類名稱

深入學習Objective-C的NSObject

標籤:ios開發   nsobject   objective-c   深入學習   先來看看NSObject的主要定義如下所示(包括一些我的理解注釋):@interface NSObject <NSObject> { Class isa OBJC_ISA_AVAILABILITY;}/* Initializing a Class *//** *

Objective-C 對象模式深入分析

標籤:物件模型   nsobject   對象模式   The Objective-C object

objective-c中#import和@class的區別

標籤:Objective-C中,可以使用#import和@class來引用別的類型, 但是你知道兩者有什麼區別嗎?@class叫做forward-class, 你經常會在標頭檔的定義中看到通過@class的引用, 原因就是當你只用@class來引入一個類時, 編譯器知道有這麼一個類,也就是說它能識別Engine *engine; 而在implementation檔案中,如果你想要訪問engine.price, 編譯器就會出錯,

總頁數: 88 1 .... 24 25 26 27 28 .... 88 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.