菜单栏只有应用程序,没有响应

时间:2015-01-27 07:49:16

标签: macos swift menuitem menubar

我在应用程序中所做的是从文件中读取一个真正的循环。

这是我写的代码

func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
statusItem.title = "Stopped!";
while true
{
  println("Start While Loop");
  let path = "~/.pomodoro/log.txt";
  let expandedPath = path.stringByExpandingTildeInPath;
  var data: NSData? = NSData(contentsOfFile: expandedPath);
  var content:NSString?;

  sleep(30);

  if data != nil {
    content = NSString(data: data!, encoding: NSUTF8StringEncoding);
  }

  var titleString = content! + " M";
  println("TitleString = \(titleString)");

  if (content == "0")
  {
    titleString = "Stopped";
  }

  statusItem.title = titleString;

  println("Loop One Stoped");


}

这是该计划所做的一切。它只是从文件中读取并将菜单栏项标题更改为该字符串。该字符串将始终是一个两位数字。

但是,我不知道为什么每次运行应用程序时应用程序都会停止响应。

真的很感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

不要这样做。你正在疯狂主线。

您不能让应用更新并回复活动。 如果你需要进行无限循环,请在后台线程中进行。 但在你的情况下,最好的办法是Make A ViewController并使用NSTimer来更新标题的次数。