2010年8月15日 星期日

ObjectiveC 學習筆記 -1

 1。物件需要做2件事才算正式被生出來,先 alloc, init, 如下:

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

可以用 new 取代

NSAutoreleasePool * pool = [NSAutoreleasePool new] ;

 

2.籍由在定義class 時指定某些屬性為 property,可節省實作 getter, setter 方法。

@interface Fraction : NSObject

{

int numerator;

int denominator;

}

 

@property int numerator,denominator;

-(void)print ;

 

@end

在實作class也必須對應下一個指令,告訴compiler自動產生對應的getter,setter。

@implementation Fraction

 

@synthesize numerator,denominator;

 

-(void)print {

NSLog(@"%i/%i", numerator,denominator);

}

 

@end

 

3.Property 可以直接用 . assign value,取代 setter

myFrac1.numerator=5 ;

[myFrac1 setNumerator:5] ; 是相同的。

4.接受多個參數的方法

-(void) setTo: (int)n over: (int) d ;

使用時

[aFraction setTo:5 over:10] ;

多個參數時,參數名稱也算是方法名稱。

 

2010年7月19日 星期一

DB2 drop sequence 語法

在 DB2 中,create sequence 的語法範例:

CREATE SEQUENCE DB.BATCH_STEP_EXECUTION_SEQ AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;

在 drop sequence 時,就需要加上 RESTRICT
DROP SEQUENCE DB.BATCH_STEP_EXECUTION_SEQ RESTRICT
在 DB2 建立 SEQUENCE目的是由 DB 自動產生流水序號,
透過指令:  "values nextval for $sequence_name",可取得序號,
透過 dao framework 機制,由程式自動 handle 取序號這段會較為簡單。