在尝试使用Redis的Scala绑定时,我按照README文件中的说明(克隆repo,cd到它,输入sbt
),我得到了这个:
$ sbt
Getting org.scala-tools.sbt sbt_2.9.1 0.10.1 ...
:: problems summary ::
:::: WARNINGS
module not found: org.scala-tools.sbt#sbt_2.9.1;0.10.1
==== local: tried
/Users/noah/.ivy2/local/org.scala-tools.sbt/sbt_2.9.1/0.10.1/ivys/ivy.xml
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
/Users/noah/.ivy2/local/org.scala-tools.sbt/sbt_2.9.1/0.10.1/jars/sbt_2.9.1.jar
==== Maven2 Local: tried
file:///Users/noah/.m2/repository/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
file:///Users/noah/.m2/repository/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar
==== typesafe-ivy-releases: tried
http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt_2.9.1/0.10.1/ivys/ivy.xml
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt_2.9.1/0.10.1/jars/sbt_2.9.1.jar
==== Maven Central: tried
http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar
==== Scala-Tools Maven2 Repository: tried
http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar
==== Scala-Tools Maven2 Snapshots Repository: tried
http://scala-tools.org/repo-snapshots/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom
-- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar:
http://scala-tools.org/repo-snapshots/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar
:::::::::::::::::::::::::::::::::::::::::::::: …
Run Code Online (Sandbox Code Playgroud) 我想在应用程序终止时做一些事情,所以我向我的 AppDelegate 添加了applicationShouldTerminate:
和applicationWillTerminate
方法。但是,当我从 XCode 运行我的应用程序然后按 时\xe2\x8c\x98Q
,这两种方法都不会被调用。
现在我正在通过日志记录和调用进行测试printf
,当我退出应用程序时,我在任何地方都看不到任何输出。该文档似乎表明这应该有效。Google 尚未产生任何有用的结果,在 GitHub 上搜索示例代码大多会返回观察其他应用程序被终止的应用程序。
为什么没有applicationShouldTerminate:
被applicationWillTerminate
打电话?
这是我的应用程序委托中的这些方法实现:
\n\n- (NSApplicationTerminateReply)applicationShouldTerminate:(NSNotification *)aNotification {\n printf("printf applicationShouldTerminate");\n NSLog(@"NSLog applicationShouldTerminate");\n return NSTerminateNow;\n}\n\n- (void)applicationWillTerminate:(NSNotification *)aNotification {\n printf("printf applicationWillTerminate");\n NSLog(@"NSLog applicationWillTerminate");\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n(我还通过在 Xcode 中创建一个全新的项目进行了测试,您可以在https://github.com/noahlt/TestTerminator找到该项目)。
\nmacos cocoa objective-c nsapplication nsapplication-delegate
我的应用程序有一个ListPreference,其条目来自网络API.在我的PreferenceActivity的onCreate()中,我生成了一个后台线程,它进行API调用,然后在一两秒后填充ListPreference的条目.
如果用户在下载选项之前单击首选项屏幕上的ListPreference按钮,我想阻止显示首选项对话框,而是通知用户仍在加载选项列表.
我怀疑正确的方法是覆盖OnPreferenceClickListener,如下所示:
ListPreference dpref = (ListPreference) findPreference("debug");
String[] s = {"one", "two", "three"};
dpref.setEntries(s);
dpref.setEntryValues(s);
dpref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(this, "hi there", Toast.LENGTH_SHORT).show();
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
将显示toast,但也会显示ListPreference选择器对话框.该OnPreferenceClickListener文件说,onPreferenceClick应该返回true
如果点击被处理,但返回false
具有相同的效果.
如何阻止首选项对话框显示?
是否有更好的方法来处理在查看之前必须下载选项的首选项?