Time of Update: 2018-12-06
作者:不及格的程式員-八神C#借簽了多種語言的特性與功能,下面簡單介紹它從Objective-C中引入的擴充方法.下面的樣本示範C#中為 System.String 類定義的一個擴充方法: namespace ExtensionMethods{ public static class MyExtensions { public static int WordCount(this String str) { return
Time of Update: 2018-12-06
今天在看書上的一段代碼時,發現NSString執行個體化時,有時用的是initWithFormat方法,有時用的是stringWithFormat,到底應該如何選擇呢?區別:1、initWithFormat是執行個體方法只能通過 NSString* str = [[NSString alloc] initWithFormat:@"%@",@"Hello World"] 調用,但是必須手動release來釋放記憶體資源2、stringWithFormat是類方法可以直接用 NSString*
Time of Update: 2018-12-06
網上關於在Win下搭建Object-C開發環境的文章很多,前兩天就打算也弄一個玩玩,結果黑蘋果實驗失敗了。主要還是配置不夠,記憶體至少有個4G才勉強OK……我的本本3年多前買的宏基4726G,當時感覺性價比不錯就買了,雖然用到現在沒修理過,但是散熱真的不行,所以建議還是多花點銀子買個商務機的好 下面是我的本本大概配置
Time of Update: 2018-12-06
轉自sina部落格 可以先看下千鋒視頻可以先瞭解下“遛狗原理”。這篇寫的蠻好,轉了過來…… 關於什麼時間用self. , 其實是和Obj-c的存取方法有關, 不過網上很多人也都這麼解答的, 那它為什麼和存取方法有關? 怎麼有關的? 並沒有多少人回答出來. 同時關於記憶體管理的內容, 請大家看旺財勇士的Objective-C記憶體管理總結~CC專版 , 有些東西我就不多解釋了. 進入正題, 我們經常會在官方文檔裡看到這樣的代碼: MyClass.h
Time of Update: 2018-12-06
一、建立字串、類方法 公式建立NSString +(id) stringWithFormat:(NSString *) format,……;eg: NSString *height; height=[NSString stringWithFormat:@"高度是: %d 長度: %d",10,20];得到的字串:“高度是: 10 長度: 20” 注意: 省略符號:表示可以接收多個參數,類似NSLog(); 加號:“+”
Time of Update: 2018-12-06
Using C++ With Objective-C 蘋果的Objective-C編譯器允許使用者在同一個源檔案裡自由地混合使用C++和Objective-C,混編後的語言叫Objective-C++。有了它,你就可以在Objective-C應用程式中使用已有的C++類庫。 Objective-C和C++混編的要點 在 Objective-C++中,可以用C++代碼調用方法也可以從Objective-C調用方法。在這兩種語言裡對象都是指標,可以在任何地方使用。例
Time of Update: 2018-12-06
數值型賦值給布爾型,1.NSString
Time of Update: 2018-12-06
(對於在ViewController之間傳值)最簡單最專業的方法就是所謂的執行個體共用(shared instance)。基本的做法就是在最初調用的時候建立一個可以執行個體化這個類的單例的類方法(singleton),然後在接下來的調用中返回這個執行個體。我們用一個棋盤遊戲中常見的Engine類來舉例說明:Engine.h[plain] view plaincopy#import @interface Engine : NSObject { NSUInteger board[100
Time of Update: 2018-12-06
XCode:你可以把它看成是一個開發環境,就好像Visual Studio或者Netbeans或者SharpDevelop一樣的玩 意。你可以將Interface Builder認為是Visual Studio中用來畫介面的那部分功能單獨提出來的程式。Objective-C:這是一種語言,就好像c++是一種語言,Java是一種語言,c#是一種語言,鶯歌曆史也是一 種語言一樣。Cocoa:是一大堆函數庫,就好像MFC、.NET、Swing這類玩意,人家已經寫好了一堆現成的東西,你只要
Time of Update: 2018-12-06
日期之間比較可用以下方法 - (BOOL)isEqualToDate:(NSDate *)otherDate; 與otherDate比較,相同返回YES - (NSDate *)earlierDate:(NSDate *)anotherDate; 與anotherDate比較,返回較早的那個日期 - (NSDate *)laterDate:(NSDate *)anotherDate; 與anotherDate比較,返回較晚的那個日期 -
Time of Update: 2018-12-06
使用NSString和NSMutableString : NSString *simpleString = @"This is a simple string"; NSString *anotherString =[NSString stringWithString:@"This is another simple string"]; NSString *oneMorestring =[[NSString alloc] initWithString:@"One
Time of Update: 2018-12-06
和C#類似OC中也有一個根類型,也就是NSObject,它包含一個alloc方法和一個init方法。顧名思義,alloc用於申請記憶體,建立一個對象的內部結構,並且將執行個體變數賦值為0。init方法賦值將變數的值賦值為預設值(似乎和0不一樣),然後執行一些其它的任務。alloc就像進入了一輛車裡,而init是打火發動汽車。正常寫法:MyObject *someObject = [[MyObject alloc] init];[someObject
Time of Update: 2018-12-06
注意,下面的文法需要下載Xcode 4.4。1、枚舉類型的改變老寫法:[cpp] view plaincopy typedef enum Week{ Moday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }Week; 老方法的問題是枚舉值的資料範圍是模糊的,這個數值可能非常大,
Time of Update: 2018-12-06
今天看到enum 和 typedef, 在兩個小節中書中分別出現了2個例子,如下enum direction {north, south, east, west};typedef enum {north, south, east, west} direction;不禁產生疑問,這兩個有什麼區別,仔細對照了一下,發現是這樣的:大同小異,同: 都是申明了一個枚舉類型。異:在使用該枚舉類型定義變數的時候,文法不一樣,舉例如下: Code highlighting produced by
Time of Update: 2018-12-06
方法定義舉例: -(void)insertObject:(id)anObject atIndex:(NSInteger)index各部分解釋:1.方法修飾符 - 代表此方法是實體方法,必須先產生類執行個體,通過執行個體才能調用該方法。 + 代表此方法是類的靜態方法,可以直接調用,而不用產生類執行個體。 2.參數類型 id 與 NSInteger 分別是兩個參數 anObject 和 index的類型。 3.方法簽名 本例中,insertObject 和
Time of Update: 2018-12-06
轉自: http://blog.prosight.me/index.php/2010/11/670UUID是128位的值,它可以保證唯一性。通常,它是由機器本身網卡的MAC地址和當前系統時間來產生的。UUID是由中劃線串連而成的字串。例如:13222F23-C76A-7781-0C12-0293E3B34398.下面這個方法可以產生UUID並以字串的方式進行返回。- (NSString *)createUUID{// Create universally unique identifier
Time of Update: 2018-12-06
非正式協議在obj-c中的關鍵字雖然也是interface,但是這個跟c#中的介面(interface)並不完全相同。回憶一下前面學過的內容,我們定義一個類Sample時,總是會先產生一個Sample.h,代碼如下:#import <Foundation/Foundation.h>@interface Sample : NSObject {}-(void) HelloWorld;@end它表明Sample類中,約定了"應該"有一個名為HelloWorld的方法(註:我這裡說的是應該,
Time of Update: 2018-12-06
http://www.gnustep.org/experience/Windows.htmlftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows在上面的網站下載 gnustep-core-0.23.1-setup.exegnustep-system-0.23.0-setup.exeGorm-1.2.10-setup.exeSystemPreferences-1.1.0-setup.exe注意都下最新版本的吧.下好後,都是一路NEXT安裝就好
Time of Update: 2018-12-06
轉自 http://www.cnblogs.com/biosli/archive/2011/04/30/Mixing_ObjectiveC_and_Cplusplus_in_iPhone_Development.html先說題外話,文章標題其實起的不好,在iOS的開發中,Apple建立的庫基本都是用Objective-C寫的,所以在這裡的C++指的其實是Objective-C++。首先,最最最要緊的事情,不是代碼而是編譯器選項,在做混合編譯之前一定要把編譯器的Compile Sources
Time of Update: 2018-12-06
摘要: Objective-C中調用函數的方法是訊息傳遞,這個和普通的函數調用的區別是,你可以隨時對一個對象傳遞任何訊息,而不需要在編譯的時候聲明這些方法。所以Objective-C可以在runtime的時候傳遞人和訊息。首先介紹兩個方法。Objective-C中調用函數的方法是“訊息傳遞”,這個和普通的函數調用的區別是,你可以隨時對一個對象傳遞任何訊息,而不需要在編譯的時候聲明這些方法。所以Objective-C可以在runtime的時候傳遞人和訊息。 首先介紹兩個方法