ココアの開発者になるために面接する人のために、面接の質問のリストをまとめています。私はプログラマーですが、Objective-Cを実行したことはありません。動的型付けに関する興味深い質問に出くわしました。初歩的なはずです。試してコンパイルしましたが、どのように、なぜ機能するのかはまだわかりません。
質問は
次の手順を実行すると、コンパイル時と実行時に何が起こりますか。
NSString *s = [NSNumber numberWithInt:3];
int i = [s intValue];
デバッガーで
i =(int)3 s =(__NSFCNumber *)0x383(無効なアドレス)
の出力はNSLog(@"%d",i)
、、3
の出力はNSLog(@"%@",s)
です3
。
誰かが、私がObjective-CとCocoaに完全に慣れていないが、コンピュータサイエンスにはまったく慣れていないことを念頭に置いて、コンパイラとランタイムシステムによってこれらすべてがどのように処理されるかについて説明してもらえますか?