Time of Update: 2018-12-05
如題~想要實現 javascript與objc的互動如何?javascript調用objc內部的某一個介面呢?我是這樣實現的例如某一入口<input type="button" id="enter" value="enter" onclick="testClick('printLog1:Log2:','ddddd','aaaaa');"/>js裡面function
Time of Update: 2018-12-05
在Objective-C中,使用單例模式,定義一個單例類的過程如下:1、定義一個static的類對象,初始值為nil2、在Factory 方法中(一般都是以“sharedInstance”或者"sharedManager"命名),僅僅在第一步中聲明的static類對象為空白的情況下,使用allocWithZone:方法建立一個新對象3、重寫allocWithZone:方法4、添加記憶體管理方法,以保證只會出現一個該類的執行個體。下面是蘋果官方的demo樣本:#import
Time of Update: 2018-12-05
我第一次接觸Java的時候就覺得整個反射包都很新穎,它使得Java和解釋型的指令碼語言更接近了,與此同時也拉開了和主流的C和C++的距離。在運行時可以窺視到一個對象的類別中繼資料真的很不可思議,儘管這些可能不會在日常應用編程中經常使用到。從Java轉到Objective-C的程式員應該會樂見Objective-C也支援反射。實際上,Objective-C有很多諸如動態改變類定義以及建立一個新類的動態特徵。不過很難說這些功能有多大的作用,這也讓我覺得Objective-C是一個有些臃腫的語言。在我
Time of Update: 2018-12-05
在Objective-c中如何定義一個類呢?我們可以使用下面的格式進行表示:@interface 類名:父類名{ 變數定義;}方法定義;@end;下面給出一個執行個體:@interface Person: NSObject { NSString* name; int age;}- (NSString*) name;- (int) age;- (void) setName: (NSString*) input;- (void) setAge:
Time of Update: 2018-12-05
NSFileManager常用操作-(BOOL)contentsAtPath:path //從一個path所指定的檔案上讀取資料-(BOOL)createFileAtPath:path contents:(NSData*)data attributes:attr //向一個path所指向的檔案上寫入資料data-(BOOL)removeFileAtPath:path handler:handler
Time of Update: 2018-12-05
NSFileHandle常用操作+(NSFileHandle*)fileHandleForReadingAtPath:path //為進行讀取操作開啟一個檔案+(NSFileHandle*)fileHandleForWritingAtPath:path //為進行寫入操作開啟一個檔案+(NSFileHandle*)fileHandleForUpdatingAtPath:path //為進行更新開啟一個檔案-(NSData*)availableData
Time of Update: 2018-12-05
Objective-c看上去像是C語言,或者跟C語言有關,確實Objective-c是C語言的超集,對C語言進行了擴充,它在C語言的基礎上增加了物件導向的支援,同時增加了自己專屬的特性。 因此,Objective-c是一門物件導向的程式設計語言,是開發iPhone和iPad應用的程式設計語言,也是開發基於Mac作業系統的應用程式的程式設計語言。 在iMac、Mac mini上的作業系統是Mac OS X。
Time of Update: 2018-12-05
在用@interface聲明類之後,可以使用@implementation進行實類的實現。類的實現的具體文法如下:@implementation 類名 方法實現代碼;@end;執行個體:@implementation Person- (NSString*) name { return name;}- (int) age { return age;}- (void) setName: (NSString*) input { name =
Time of Update: 2018-12-05
Objective-c使用NSString來操作字串,NSString稱為不可修改字串是因為,當你使用NSString建立字串不能再修改字串的內容及長度。1、建立一個字串NSString *str =@"我是字串";2、格式化字串NSString *name =@"zhang";NSString *log = [NSString stringWithFormat:@"I am '%@'",name];NSLog(@"str:%@",log);格式化輸出符號:%@ 對象 %d, %i
Time of Update: 2018-12-05
類是Objective-c的核心,Objective-c程式都是圍繞類進行的。Objective-c程式至少包含以下三個部分: 1、類介面:定義了類的資料和方法,但是不包括方法的實現代碼。 2、類實現:倉儲 了實作類別方法的代碼。 3、應用程式:調用類來完成一些實際操作的應用程式。 類介面,我們可以理解為C/C++語言中標頭檔*.h,也就是類的定義。
Time of Update: 2018-12-05
category是Objective-c裡面最常用的功能之一。category可以為已經存在的類增加方法,而不需要增加一個子類。類別介面的標準文法格式如下:#import "類名.h"@interface 類名 (類別名)//新方法的聲明@end類別實現如下:#import "類名類別名.h"@implementation 類名
Time of Update: 2018-12-05
NSArray 是一個靜態數組,不修改該數組中的元素,也不能添加元素,所以僅有NSArray 是不夠的。NSMutableArray 就應運而生,來滿足我們的需求了。NSmutableArray
Time of Update: 2018-12-05
在objc.h 中,BOOL 定義為:typedef signed char BOOL;#define YES (BOOL) 1#define NO (BOOL) 0從上面的定義我們發現布爾變數的值為 YES/NO,或 1/0 。YES 或 1 代表真,NO 或 0 代表假。比如你定義了一個布爾變數並賦了值:BOOL enabled = NO;enabled = 0;判斷BOOL值為YES:if(enabled == YES){}或者YES可以省略if(enabled){}
Time of Update: 2018-12-05
NSDictionary的作用與Java 中的字典類相同,提供了“鍵-值”對的集合。NSDictionary 常用方法總結+(id)dictionaryWithObjectsAndKeys:obj1,key1,obj2,key2,......nil順序添加對象和索引值來建立一個字典,注意結尾是nil-(id)initWithObjectsAndKeys::obj1,key1,obj2,key2,......nil初始化一個新分配的字典,順序添加對象和值,結尾是nil-(unsigned int)
Time of Update: 2018-12-05
在做iPhone開發時,經常會碰到要串連多個字串,以下是本人總結的方法:NSString *hello=@"Hello,";NSString *world=@"World!";NSString *helloWorld;將hello和world這兩個字串串連。方法一:helloWorld = [NSString initWithFormat:@"%@%@", hello, world ];方法二: helloWorld = [hello stringByAppendingString:world]
Time of Update: 2018-12-05
Objective-C語言特性1.Objective-C建立在C語言之上,他是在C語言基礎上添加擴充而來能夠建立和操作對象的一門心的設計語言。2.Objective-C是ANSI-C的超集,可以混編C和C++代碼。3.可以在現存C編譯器基礎上實現,不需要編寫全新的編譯器。在mac系統上編寫Objective-C一般都使用xcode編譯器。4.不支援命名空間機制。一般都是在類別名稱加首碼。在Cocoa編程環境中,所有Mac OS
Time of Update: 2018-12-05
1.類的聲明1-1@interface開始,@end結束1-2變數和方法不能混在一起,執行個體變數必須放在{}內1-3沒有static、const的執行個體變數。在.m檔案中可以聲明static靜態屬性:屬於類,不屬於對象。同樣,也沒有const方法,沒有友元方法。1-4“-”聲明的方法是protect,“+”聲明是public,如果一個方法在.h中沒有聲明,但在.m中有定義,則只能是.m檔案中類內部使用的private方法。所有方法都不能在類的聲明中實現。1-5所有的類都繼承自NSObject
Time of Update: 2018-12-05
Objective-C 中設定屬性一般有一下關鍵字:-- assign:指定setter方法用簡單的賦值,這是預設操作。你可以對標量類型(如int)使用這個屬性。你可以想象一個float,它不是一個對象,所以它不能retain、copy。-- retain:指定retain應該在後面的對象上調用,前一個值發送一條release訊息。你可以想象一個NSString執行個體,它是一個對象,而且你可能想要retain它。--
Time of Update: 2018-12-05
尋找檔案下面通過一個程式有組合使用上面所學的知識,比如NSString、NSMutableArray、NSEnumerator以及NSFileManager來對檔案系統進行操作,如建立目錄、刪除檔案、移動檔案或者擷取檔案資訊。在下面的例子中,會要求NSFileManager來建立NSDirectoryEnumerator來遍曆檔案的階層。通過注釋對下面的例子進行說明:#import <Foundation/Foundation.h> int main (int argc,
Time of Update: 2018-12-05
在windows下安裝了cygwin和iphone的sdk,下載了很多代碼去看,結果都是c objective-c 混合,由於公司以前的遊戲都是c++代碼,編譯一直有問題。查了很多資料,都是在xcode上混合編譯。公司小氣不買蘋果機,只好瘋似的實驗。結果發現先把所有檔案都編譯為彙編代碼,編譯的時候要指定為macosx 10.4版本和arm1176jzf-s的cpu。然後再進行串連。結果成功了,記得所有objective-c 和 objective-c ++寫的代碼都用mm尾碼。mix