Time of Update: 2015-03-18
標籤:object-c oc學習 linux學習oc 如果想學習OC卻苦於沒有MAC電腦的同學,可以試著以下方法來解決我們利用GNUstep學習Objective-C第一步:安裝需要的軟體和編譯環境sudo apt-get install gnustepsudo apt-get install gnustep-devel第二步:寫第一個
Time of Update: 2015-03-16
標籤:這是一種權宜之計,在沒有Mac OS X的情況下,使用這套方案可以先行體會一下Objective-C。如果玩下來覺得感覺不錯,想深入發展,還是整台Mac吧。 一:編譯環境安裝GNUStep www.gnustep.org網站下載以下三個包,按順序安裝 1. gnustep-msys-system-0.30.0-setup.exe 2. gnustep-core-0.31.0-setup.exe 3.
Time of Update: 2015-03-28
標籤:一、OC簡介 (一)、Objective-C與C的淵源 Objective-C誕生於 20 世紀 80 年代,由Brad Cox 發明,意在將流行的、可移植的 C 語言與優雅的 Smalltalk 語言結合在一起。Objective-C 是 C 語言的一個擴充集,它以 C 語言為基礎,在語言中添加了一些微妙但意義重大的特性。蘋果公司的 iphone 平台採用 Objective-C 做為 native language
Time of Update: 2015-03-21
標籤:前面我們討論了Runtime中對類和對象的處理,及對成員變數與屬性的處理。這一章,我們就要開始討論Runtime中最有意思的一部分:訊息處理機制。我們將詳細討論訊息的發送及訊息的轉寄。不過在討論訊息之前,我們先來瞭解一下與方法相關的一些內容。基礎資料類型SELSEL又叫選取器,是表示一個方法的selector的指標,其定義如下:typedef struct objc_selector
Time of Update: 2015-03-18
標籤:委託模式Tip委派物件不應該被 retain實現委託模式的類應:擁有一個名為 delegate_ 的執行個體變數來引用委託。因此,訪問器方法應該命名為 delegate 和 setDelegate:。delegate_ 對象不應該被 retain。模型/視圖/控制器(MVC)Tip分離模型與視圖。分離控制器與視圖、模型。回調 API
Time of Update: 2015-03-11
標籤:這裡會歸納一些在Objective-C開發中常用的代碼 代碼會慢慢增多 =)產生一定範圍的隨機數Objective-C-(float)RandomFloatStart:(float)a end:(float)b { srand((unsigned)time(0)); float random = ((float) rand()) / (float) RAND_MAX; float diff = b - a; float
Time of Update: 2015-03-05
標籤:原文轉自 http://www.rijiyuelei.me/2012/09/enum-and-string-conversion-in-objective-c/ 枚舉類型的使用優勢沒啥好說的。但經常需要將它與字串進行轉換方便顯示或其它需求。在常見的方案中,多是先聲明,然後在實現檔案裡建立一個映射表。這樣帶來的問題就是要分兩個檔案來管理,帶來管理不方便不好。使用前還在確保映射表已經初始化。顯然使用時還是有些許難受。如果全部改用宏來實現則會好管理很多,而且對於映
Time of Update: 2015-03-05
標籤:單例類是一種特殊的類,在一個進程種只會存在一個該類的對象,在iOS應用中只會出現一個對象。這種設計模式在系統架構中許多地方都使用了,如NSFileManager、UIApplication等。在ARC的環境下,介面檔案為://// DVISingleton.h//// Copyright (c) 2014 長沙戴維營教育. All rights reserved.//#import <Foundation/Foundation.h>@interface
Time of Update: 2015-02-28
標籤:Objective-C 方法重載 - Selector 標識起決定作用太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商業用途-保持一致”創作公用協議轉載請保留此句:太陽火神的美麗人生 - 本部落格專註於 敏捷開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。重載方法聲明:- (void)test;-
Time of Update: 2015-01-22
標籤: CocoaPods一個Objective-C第三方庫的管理利器分類: iOS開發入門2012-11-19 14:17 40945人閱讀 評論(10) 收藏 舉報 目錄(?)[+] 介紹:開發應用的時候第三方的庫是不可缺少的,能提高開發的效率。 一些經常用到的庫,在新的項目裡用是,你又得手工的Add到項目裡,用的到庫多起來了,就不方便管理了。發現CocoaPods這個軟體,可以幫你管理Xcode裡的第三方的庫,
Time of Update: 2015-01-22
標籤:【環境搭建前言】開發環境必須搭建再Apple公司的Mac OS 系統上。因此無論採取何種方式,首先至少需要一台裝有Mac OS 系統的電腦。您可以通過購買Apple 電腦或者為PC機安裝黑蘋果來獲得Mac OS。 【下載安裝XCode工具】您可以在Mac OS 中的 Apple Store 直接下載XCode, 也可以通過蘋果開發人員網站 來下載XCode 。下載的XCode組件囊括了XCode IDE、IOS SDK、Iphone&Ipad
Time of Update: 2015-01-21
標籤:雖然 Objective-C 的文法是如此的與眾不同,讓初學者如此的不爽,但是其實它還是有很多優點的(主要是對比 JAVA)。協議 Protocal其實也就是介面啦,不過由於 OC 在定義 class 的時候已經用了 interface 這個名字,所以這裡就叫 protocal 了。協議我覺得有兩大優點:1. 允許非正式協議:讓我想起了前段時間看的 GO 語言的介面定義方式。就是說,當一個 class 並沒有顯式的聲明某個協議的時候,只要它實現了相應的方法,那麼就可以被當作相應的協議來用。
Time of Update: 2015-01-19
標籤:一,多態使用方式1,父類物件類型指向子類對象。二,多態優點1,在函數或方法的參數中父類物件類型可以同時接受多種子類對象傳入參數。2,當子類對象被父類物件類型指向時,可以直接調用父類方法,但是不能直接調用子類的特有方法,如果需要必須調用,需將物件類型強制轉換為子類類型。三,多態的局限性1,不能子類物件類型指向父類對象。(編譯器會警告,但是可以正常運行,還是不建議這樣處理)2,繼承於同一個父類對象的子類之間不能互相指向。(編譯器會警告,但是可以正常運行,還是不建議這樣處理) 本人自己
Time of Update: 2015-01-19
標籤:1.類的定義和聲明OC中的類聲明是以@interface開始@end結束。OC中的類定義以@implementation開始@end結束。OC中的方法聲明:- (void) setName : (NSString*) strName;前面的短線-表示這是一個方法,(void)表示傳回值, setName表示方法名稱,(NSString*)
Time of Update: 2015-01-18
標籤:一,繼承文法形式:@interface 類名稱
Time of Update: 2015-01-16
標籤:ios開發 nsobject objective-c 深入學習 先來看看NSObject的主要定義如下所示(包括一些我的理解注釋):@interface NSObject <NSObject> { Class isa OBJC_ISA_AVAILABILITY;}/* Initializing a Class *//** *
Time of Update: 2015-01-15
標籤:物件模型 nsobject 對象模式 The Objective-C object
Time of Update: 2015-01-15
標籤:Objective-C中,可以使用#import和@class來引用別的類型, 但是你知道兩者有什麼區別嗎?@class叫做forward-class, 你經常會在標頭檔的定義中看到通過@class的引用, 原因就是當你只用@class來引入一個類時, 編譯器知道有這麼一個類,也就是說它能識別Engine *engine; 而在implementation檔案中,如果你想要訪問engine.price, 編譯器就會出錯,
Time of Update: 2015-01-13
標籤:1.相關概念在這篇筆記開始之前,我們需要對以下概念有所瞭解。1.1 作業系統中的棧和堆註:這裡所說的堆和棧與資料結構中的堆和棧不是一回事。我們先來看看一個由C/C++/OBJC編譯的程式佔用記憶體分布的結構: 棧區(stack):由系統自動分配,一般存放函數參數值、局部變數的值等。由編譯器自動建立與釋放。其操作方式類似於資料結構中的棧,即後進先出、先進後出的原則。例如:在函數中申明一個局部變數int
Time of Update: 2015-01-13
標籤:nil: A null pointer to an Objective-C object.( #define nil ((id)0) )nil表示一個Objective-C對象,這個對象的指標指向空Nil: A null pointer to an Objective-C class.首字母大寫的Nil 和nil有一點不一樣,Nil定義一個指向空的類,是class,而不是對象。#define Nil 0 NULL: A