仕事で簡易的なiOSアプリを作ることになりました。
が、全く経験ありません。
Swiftデビューか!と思いきや、
使用するsdkがObjective-Cで書かれていました。
なので読解のため
@や[[ ]]の入れ子など謎が多いオブシー(と略すらしい)
の基礎勉強まとめです。
↑絵本シリーズは丁寧で深く良いです。
1,Objective-Cとは
・C 言語の基本構造をベースにして、Smalltalk 言語を取り入れた言語。
・NSString型 など よくNSが登場するが、これはジョブズがAppleを追い出されてた時期につくった NeXT社のOSのNeXTSTEPの名残。
・クラス型や生成方法がヘッダファイルで定義されているため、その実体は C 言語の構造体を typedef 文で隠蔽している
2,文字列
sample
NSString* str = @"abcdefg";
NSLog(@"%@", str) //ログ出力
3,配列
sample
NSArray* arr;
arr = [NSArray arayWithObjects: @"abc", @"def", @"ghi", nil];
int i;
for (i = 0; i < [arr count]; i++){
NSLog(@"%@", [arr objectAtIndex:i]);
}
4,クラス
objective-cのクラスはインターフェース部と実装部の2つから構成される
[]をメッセージ式と呼び、クラスやオブジェクトに対してメッセージを送る
という流儀でメソッドを呼ぶ。
sample
// インターフェース部 @interface ~ @end までに記述 Animalがクラス名
@interface Animal : NSObject
{
int age;
}
-(void)showFood;
@end
// 実装部 implementation ~ @end までに記述
@implementation Animal
-(void)showFood{
NSLog(@"美味しいさかな");
}
@end
// オブシェクトの生成
int main() {
Animal* cat = [Animal alloc]; // 生成
cat = [cat init]; // 初期化
[cat showFood]; // メソッド呼び出し
return 0;
}
独特の流儀や記述が多いけど、Swiftみたいな
おしゃれ感はないけれど僕は好きになれそうでした。
フジロック疲れが凄いので本日はここまでにします
ライフサイクルやメモリ管理の仕組みとかも学ばなければ!