2012-02-25 11 views
11

Làm thế nào để giữ một công cụ dòng lệnh chạy mãi mãi.Giữ công cụ dòng lệnh còn sống

Đây là mã của tôi:

#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) 
{ 

    @autoreleasepool { 

     [[NSDistributedNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:nil usingBlock:^(NSNotification *notification) 
     { 
      NSLog(@"%@", notification); 
     }]; 

     //Keep alive... 

    } 
    return 0; 
} 

Trả lời

23

Bạn cần phải nhập vào một runloop sử dụng một trong hai CFRunLoop hoặc NSRunLoop.

Hãy thử:

[[NSRunLoop currentRunLoop] run]; 
+0

Nó phải là 'NSRunLoop' với vốn L, nhưng ngược lại nó hoạt động hoàn hảo. – Tyilo

+0

Cố định viết hoa. – EricS

+0

Đó là nó, cảm ơn! – Andy

0

Trong Swift 4,

RunLoop.current.run() 

Cheers.

+0

Tại sao downvote lại là? Tôi tìm thấy câu trả lời này trong khi tôi đang sử dụng Swift để giữ công cụ dòng lệnh còn sống. Tôi nghĩ một số người cũng muốn biết điều đó. –