Jump to navigation
2006-09-04
Objective-C [by miyachi]
CodeWarriorを使ったお仕事をやってました。でもなぜかCarbonからCocoaのライブラリを呼び出して使いとうとうObjective-Cまで使って短い機能を実装。いやObjective-Cを本格的に使うのは私は実は初めてだったりして(^^; これまでにC/C++/Java/C#等は使ってきていたので同じように考えていたら全く違っていて少しびっくり。オブジェクト指向っぽい使い方です。例えば文字列オブジェクトにサイズをたずねるには、
unsigned int len = [ strObj length ]; // strObjの文字列長を取得する。
むう。これはかなり来てますね(^^; 他の言語だと "." や "->" を使うところをいきなりカギカッコ "[]" を使うとは。オブジェクト指向と言うよりもメッセージ指向に近くなるのかな? 慣れれば何と言う事も無さそうですが、今回は慣れる程のコーディング量では無かったのでさわっただけでした。
あとObjective-CはC言語の拡張でコンパイラもgccを使っていますので、過去のC言語の利用も従来通り利用が、特に混在が可能になっています。この辺りは.NETで言えばC#よりもC++/CLIに近いかもしれません。C#の方がJavaに近いかも。それにしても最近は似て否なる言語が多くて困ったもんです(笑)
これだけじゃ情報としてつまらないので文字列に含まれる改行コードの変換した例を紹介しておきましょう。通常はNSStringと言うクラスを使って文字列を操作します。ただ置換などの機能を使う場合にはNSMutableStringを使います。
NSMutableString *mst = [NSMutableString stringWithString:str];
[mstr replaceOccurrencesOfString:@"\n" withString:@"\r\n" options:0 range:NSMakeRange(0, [mstr length])];
おや簡単(^^; でもあまりネット上に情報が無かったので参考まで。改行コードをDOS風に変換する時に利用しました。他にも幾つか参考になりそうなコーディングをしましたがまた今度ネタ切れの時にでも書きましょう。