Time of Update: 2015-05-28
標籤: OC與C++、Java等物件導向語言有很多的類似之處,不過在很多方面也是有所差別的。若是用過某一種物件導向語言,那麼就很容易理解OC語言所用的範式和模板了。但是在文法使用上,也許會顯得陌生。因為OC語言使用了“Messaging Structure(訊息結構)”而非“Function Calling(函數調用)”。訊息與函數調用的基本格式如下(以Student類為例):
Time of Update: 2015-06-25
標籤:http://www.tekuba.net/program/335/本系列主要參考資料:Objective-C Runtime ReferenceObjective-C Runtime Programming Guide涉及主要檔案:objc/message.h,objc/objc-api.h,objc/objc.h,objc/runtime.h特酷吧[tekuba.net]採用"署名-非商業用途-保持一致"的創作共用協議,使用本文內容請遵循該協議 Objective-C
Time of Update: 2015-06-24
標籤:我們要通過一個小例子來簡單、通俗的理解一下什麼是訊息轉寄以及如何訊息轉寄,希望看完這篇文章時大家會徹底的明白OC的訊息。首先,你需要知道這兩個概念:OC中調用方法就是向對象發送訊息。比如
Time of Update: 2015-06-24
標籤:記憶體管理一直是學習 Objective-C 的重點和痛點之一,儘管現在已經是 ARC 時代了,但是瞭解 Objective-C 的記憶體管理機制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我們才算是真正瞭解了 Objective-C 的記憶體管理機制。註:本文使用的 runtime 源碼是當前的最新版本 objc4-646.tar.gz 。autoreleased
Time of Update: 2015-06-20
標籤:objective nsstring objetive-c oc 直接上代碼://// main.m//// Created by on 15/4/2.// Copyright (c) 2015年 . All rights reserved.//#import <Foundation/Foundation.h>#import
Time of Update: 2015-06-19
標籤:類目的定義與類的定義相似:1、聲明@interface NSString (CSayHi) NSString是目標類;CSayHi是類目名稱; 且後面沒有 :NSObject2、實現@implementation NSString
Time of Update: 2015-06-19
標籤:Objective-C 2.0 的運行時環境叫做Morden Runtime,iOS 和Mac OS X 64-bit 的程式都運行在這個環境,也就是說Mac OS X 32-bit 的程式運行在舊的Objective-C 1.0 的運行時環境LegacyRuntime,這裡我們只講解Morden Runtime。 同運行時互動主要在三個不同的地方,分別是A.Objective-C
Time of Update: 2015-06-16
標籤: 1 // 初始化一個空字典 2 // NSDictionary *dictionary = [[NSDictionary alloc] init]; 3 //
Time of Update: 2015-06-17
標籤:Objective-c學習筆記1.cocoa的對象初始化一般使用alloc和init兩個方法,不適用new,其中alloc用於分配記憶體,init用於初始化,因為初始化方法返回的對象可能和分配的對象不同,如下 [[類名 alloc] init] 2.初始化方法init的編寫一般會用到super關鍵字,因為初始化對象之前必須先初始化父類,並檢查父類的初始化是否成功,如下 if(self = [super
Time of Update: 2015-06-17
標籤:Objective-c學習筆記1.使用#import匯入標頭檔,一般osx命令列開發使用<Foundation/Foundation.h>,圖形介面開發使用<Cocoa/Cocoa.h>2.OC中字串不再是數組,而是變成了NSString類型的對象,凡是涉及到字串的都是對象,另外,當靜態字串賦值的時候,應該要使用@做標識,例如@“helloworld”3.OC中的真假為BOOL類型,同時真為YES假為NO,佔八位,系統依靠最低位來確定,最低位
Time of Update: 2015-06-15
標籤:以下是我寫的一個執行個體, 測試Objective-c是如何使用類的TestClass.h //// TestClass.h// TestClass//// Created by exchen on 6/15/15.// Copyright (c) 2015 exchen. All rights reserved.//#import <Foundation/Foundation.h>@interface TestClass : NSObject{
Time of Update: 2015-06-13
標籤:main.m 1 #import <Foundation/Foundation.h> 2 #import "NSString+Trim.h" 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 5 NSString *strSource = @" Kenmu 我是啊武 "; 6 NSLog(@"“%@”去掉前後空格後為“%@&
Time of Update: 2015-06-13
標籤:Objective-C 2.0增加了Class Extension用於解決兩個問題:可聲明私人可讀寫的屬性,而在類的聲明中是同名的公開唯讀屬性,從而來支援公開唯讀、私人可讀寫的屬性可聲明私人方法;允許一個對象可以擁有一個私人的@interface,且可由編譯器驗證公開唯讀、私人可寫的屬性(Publicly-Readable, Privately-Writeable
Time of Update: 2015-06-07
標籤: Category的實際作用就是為已有的類來添加方法。為現有的類添加的方法可以先不用實現,在需要的時候再實現也是可以的。在我們的實際代碼中如何來實現Category的呢?我們上篇的Person 類為例。///////////////// .h ////////////////#import <Foundation/Foundation.h> @interface Person : NSObject @property
Time of Update: 2015-06-06
標籤:objective 宏定義 奇技淫巧 指過於奇巧而無益的技藝與製品. 轉載請註明出處 http://blog.csdn.net/uxyheaven/article/details/46391771我們可以用宏定義基本的運算子和類型#define 加 +#define 減 -#define 乘 *#define 除 /#define 大於 >#define 小於 <#define 對比 ==#define
Time of Update: 2015-05-11
標籤:簡介 建立在C語言之上,可以混編C/C++代碼,編寫一個類需要二個檔案: .h的標頭檔 .m的實現檔案(如果是C/C++混編檔案,檔案尾碼為.mm) 既然有標頭檔,所以很多人會拿它與C++進行類比,它最重要的三個特性是:Message、Category、Protocol,與C++類比,二者之間的不同: 1、它沒有new也沒有delete,但有類似的方法alloc、dealloc; 2、不支援多繼承,只支援單繼承,但是提供了Protocol; 3、它沒有命名空間;
Time of Update: 2015-05-08
標籤:沒有必要將nil作為初始值賦給變數NSString *myString = nil;上面的代碼與不帶nil效果相同,所以讓我們保持簡潔:NSString *myString;屬性的處理也是一樣。記住nil與0等價,而後者與布爾值NO等價,所以也不需要像下面一樣:@property (nonatomic, assign) BOOL didLoad;...didLoad = NO;設定初始值為N
Time of Update: 2015-05-06
標籤:Objective -C Object initialization 對象初始化1.1 Allocating Objects 指派至Allocation is the process by which a new object is born.allocation 是新對象誕生的過程。Sending the alloc message to a class causes that class to allocate a chunk of
Time of Update: 2015-05-05
標籤:Objective-C Foundation 架構 Example :Looking for Files 尋找檔案NSFileManager. The NSFileManager class lets you do stuff with the file system, like create directories, remove files, move files around, and get
Time of Update: 2015-04-30
標籤:http://blog.csdn.net/cooldragon/article/details/18991973iOS開發中基於ORM的架構很多,如SQLitePersistentObject,實際開發中需求不同或情境不同,方式方法也就不同,有時項目中用不上ORM架構,或者出於公司或項目組習慣或規範、實際項目需求或技術要求等等原因,不會採用完整的ORM架構,但一些重複囉嗦的代碼使用一定的ORM功能還是很能提高效率的。基於效能或靈活性考慮,或複雜查詢的需求,或項目組要求,項目中資料庫存取一般