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
轉自: http://iosdevelopersnote.blogspot.com/2010/11/block.htmlBlockApple 在C, Objective-C, C++加上Block這個延申用法。目前只有Mac 10.6 和iOS 4有支援。Block是由一堆可執行的程式組成,也可以稱做沒有名字的Function (Anonymous function)。如果是Mac 10.6 或 iOS 4.0 之前的平台可以利用
Time of Update: 2018-12-05
Objective -C 2.0 中,在介面檔案中,即尾碼名是.h的檔案中,使用@property來識別屬性(一般是執行個體變數);在實現檔案中,即尾碼名是.m的檔案中,使用@synthesize來標識所聲明的 屬性,讓系統自動產生setter和getter方法下面是一個例子程式:#import <Cocoa/Cocoa.h>@interface useProperty : NSObject {int intX;int intY;}@property int
Time of Update: 2018-12-05
http://www.cocoachina.com/macdev/objc/2011/0124/2602.html在 Objective-C 中的類實現中經常看到這兩個關鍵字 ”self” 和 ”super”,以以前 oop 語言的經驗,拿 c++ 為例,self 相當於 this,super 相當於調用父類的方法,這麼看起來是很容易理解的。以下面的代碼為例:@interface Person:NSObject {NSString* name;}- (void)
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
Objective-C學習筆記之預先處理程式是本文要介紹的內容,主要介紹了預先處理程式中語句的使用方法,預先處理程式語句以(#)標記。來看詳細內容。一、#define1、更進階的定義類型給符號名稱指派運算式和其他任何東西。如:#define TWO_PI 2*3.141592654,#define AND && 預先處理程式假設定義包含在程式的一行中。如果需要第二行,那麼上一行的最後一個字元必須是反斜線符號“\”。如:#define IS_LEAP_YEAR(y) y%4==0&
Time of Update: 2018-12-05
objective-c中,當一個類使用到另一個類時,並且在類的標頭檔中需要建立被引用的指標時,一、#import和@class如下面代碼:A.h檔案#import "B.h"@interface A : NSObject { B *b;}@end為了簡單起見:A類是引用類,B類是被引用類,這裡先不考慮A類的實現檔案。通常引用一個類有兩種辦法:
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
1、如果你想知道NSNumber中具體的資料類型,那麼@encode關鍵字就派上用場了。使用@encode(aType) 可以返回該類型的C字串,用const char *表示。比如 @encode(int) 返回的是 i;@encode(float) 返回的是 f。然後通過NSValue中的 objCType 方法返回的const char *與上面的對比就OK了。使用strcmp按ASCII值大小相比較。int a = 10;NSNumber *number = [NSNumber
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
in: argument is an input argument only and won’t be referenced laterout: argument is an output argument only, used to return a value by referenceinout: argument is both an input and output argumentconst: the (pointer) argument is
Time of Update: 2018-12-05
Objective-C的擴充機制,除了category其實還有一個associative。category比較常見,作用就是給現有的類擴充一些新的方法。那麼associative呢,就是做到了category做不到的東西,可以擴充屬性。官方文檔:Objective-C Runtime Reference要使用associative,必須得先 #import <objc/runtime.h>然後才可以使用下面的方法進行擴充OBJC_EXPORT void
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中,調用方法的簡單格式如下: [執行個體 方法]; 如: [person setAge:32]; 其中 person是Person類的執行個體。 或者是: [類名 方法名]; 如:NSString str = [NSDate date];
Time of Update: 2018-12-05
利用oc調用js很簡單, 系統直接提供了方法stringByEvaluatingJavaScriptFromString[webView stringByEvaluatingJavaScriptFromString:@"document.location.href"]; [webview stringByEvaluatingJavaScriptFromString:@"JsMethod()"];而反過來貌似不可以, oc沒有提供直接的方法,
Time of Update: 2018-12-05
在Objective-c中,使用@property來識別屬性(一般是執行個體變數)。在實現檔案中使用@synthesize標識所聲明的變數,讓系統自動產生設定方法和擷取方法。 也就是說@property和@synthesize配對使用,讓系統自動產生設定方法和擷取方法。 例:Test.h#import <Foundation/Foundation.h>@interface Test:NSObject { int intX;
Time of Update: 2018-12-05
類是Objective-c的核心,Objective-c程式都是圍繞類進行的。Objective-c程式至少包含以下三個部分: 1、類介面:定義了類的資料和方法,但是不包括方法的實現代碼。 2、類實現:倉儲 了實作類別方法的代碼。 3、應用程式:調用類來完成一些實際操作的應用程式。 類介面,我們可以理解為C/C++語言中標頭檔*.h,也就是類的定義。