以下代码(为简洁而剥离):
private lazy var googleViewController = {
return GoogleSignInViewController()
}()
private lazy var timerViewController = {
return TimerViewController()
}()
Run Code Online (Sandbox Code Playgroud)
产生此错误:
MainViewController.swift:26:6:无法使用类型'()'的参数列表调用类型'() - > UIViewController'的闭包
显式键入我的一个视图控制器可以解决问题:
private lazy var timerViewController: TimerViewController = {
return TimerViewController()
}()
Run Code Online (Sandbox Code Playgroud)
但是,我还不了解错误的根本原因以及为什么这会解决问题.我假设它与类型推断有关,但不确定细节.我的代码发生了什么?
我意识到我不需要在上面的代码中使用闭包,它意味着是说明性的代码
我们正在使用heroku的日志流失将日志汇总到Papertrail。一切工作正常,除了,我不确定如何设置一次性测功机的日志记录,我们使用它来运行脚本。
我以为耗油量配置将适用于一次性测功机,但是我没有看到我期望使用heroku调度程序运行的作业的输出。为了弄清楚发生了什么,我尝试运行
# heroku run bash --app myapp
# babel-node
> var logger = require('bunyan/my_configured_logger');
> logger.info('YO');
Run Code Online (Sandbox Code Playgroud)
我希望这会导致原木被运送到纸路,但没有骰子。因此,我尝试了更简单的命令行
> logger "YO"
Run Code Online (Sandbox Code Playgroud)
而且这也不起作用。因此,要么我的测试被误导了,要么漏极配置不适用于一次性测功机。我认为前者更有可能。
如何测试日志清除(为远程papertrail syslog配置)正常工作?
我正在尝试使用logback syslog appender工作,我肯定有一些错误的配置.我创建了一个小样本项目,我认为应该记录到syslog,但事实并非如此.
我敢肯定我错过了一些愚蠢的东西.这是logback.xml中的appender :
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<facility>USER</facility>
<suffixPattern>[%thread] %logger %msg</suffixPattern>
</appender>
Run Code Online (Sandbox Code Playgroud)
我已经尝试明确添加端口(514),并没有快乐.在我试过的两个系统上,我已经验证了syslog正在接收输入logger "test message",然后使用/ var/log/messages或/var/log/system.log.
为了让logback/slf4j记录到syslog,我需要更改什么?
我想删除模式中的所有表和存储过程,任何人都知道如何做到这一点?如果可能的话,我想避免丢弃整个数据库.
我的应用程序有一个UIViewController子类,由UINavigationController管理.
在我的UIViewController子类的viewDidLoad中,我试图将UIBarButtonItem添加到工具栏中,如下所示:
settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings"
style:UIBarButtonItemStylePlain target:self action:@selector(viewSettings:)];
[self setToolbarItems:[NSArray arrayWithObject:settingsButton]];
Run Code Online (Sandbox Code Playgroud)
这对我来说没有用,所以经过一些谷歌搜索后,我尝试了这个:
[[self navigationItem] setRightBarButtonItem:settingsButton];
Run Code Online (Sandbox Code Playgroud)
结果很好.从阅读UIViewController文档,我仍然困惑为什么setToolbarItems无法正常工作.我在调试器中验证了该按钮位于viewDidAppear方法的toolbarItems数组中.按钮本身没有出现在我的工具栏上.
所以,我的问题是,为什么setToolbarItems在第一个代码片段中没有为我工作?
我根本没有在我的xib中为这个视图控制器配置工具栏,如果这有所不同的话.