頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


CGPointもカテゴリで配列へ

頭と尻尾はくれてやる! 構造体の定義部分にカテゴリで拡張しておく
↑まあこの続きと言えば続きかな。カテゴリx構造体のネタだよ。

CGPointって構造体があって座標を入れておくのによく使うんだけど、これも配列によく出し入れするのでカテゴリを追加したんだ。

実装部分はこんな感じにしてみた。
@implementation NSMutableArray (AddCGPointToArray)
-(void)addPoint:(CGPoint)point
{
    NSValue *value = [NSValue value:&point withObjCType:@encode(CGPoint)];
    [self addObject:value];
}
@end

@implementation NSArray (GetCGPointFromArray)
-(CGPoint)pointAtIndex:(int)index
{
    NSValue *value = [self objectAtIndex:index];
    CGPoint point;
    [value getValue:&point];
    return point;
}
@end
迷ったのはメソッド名。
ホントは追加時のメソッド名をaddCGPoint:としたかったんだけど、これに合わせると取り出す時のメソッド名が
cGPointAtIndex:
になってしまう。これはメソッド名は小文字で始めるってマイルールがあるからなんだけど、、、これはしっくりこない。
CGPointAtIndex:
cgPointAtIndex:
cgpointAtIndex:
とかいろいろ考えたんだけど、今のところ座標を示す点を持つ構造体はCGPointしか使わないから
addPoint:
pointAtIndex:
という組み合わせにすることにしたよ。
クラス名、メソッド名や変数名ってホント悩むよね。



<< サブビューを全部消すカテゴリ   TopPage  ステータスバーの上層にビューを表示させたい >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/766-3ab36191




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad