- 締切済み
[Objective-c] NSlogとループ
Objective-cの勉強を始めたばかりです。 ループ処理内のNSlogについて質問させてください。 下の方にあるソースコードにて実行すると、 何回かに1回なのですがループが最後まで回らずNSlogにて 最後まで出力されない。 ( 変数aの値は32です のように途中までしか出力されない、 一番最後までループすれば 変数aの値は1024です が出力されて ループを抜けるはずです。) MacOSX10.7.4 Core i5 2.2GHz Xcode 4.3.2 そこで下記複数質問があります。 1.内部でどんなエラーが起こっているのでしょうか? (メモリー確保・解放ができていない? 前回処理が完了する前に次の処理を実行しようとしている?) 2.下部ソースのコメントアウトにインターバル(sleepForTimeInterval)を もうける処理がありますが、これをコメントはずして実行すると、 何度実行しても最後まで出力されるようになりました。 このような処理を入れるのが当たり前なのでしょうか? #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... int a=1; for(;a<1000;a=a*2) { // [NSThread sleepForTimeInterval:0.005]; NSLog(@"変数aの値は%dです\n",a); } } return 0; } 以上、よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
単純に、出力文字列が、バッファ内から、できらずに、残った状態で、プログラム終了になってしまうので、全部でないことがあるということでしょう。