我意识到有很多涉及日期计算的问题和答案,但是我还没有在OS X / macOS上找到解决该问题的方法。我想计算两个日期和时间之间的时差,但语法必须不正确。
now=$(date +"%b %d %Y %H:%M:%S")
end=$(date +"Dec 25 2017 08:00:00")
dif=$(date -j -f "%b %d %Y %H:%M:%S" "$end" - "$now")
echo $dif
# Mon Dec 25 08:00:00 MST 2017
Run Code Online (Sandbox Code Playgroud)
它仅返回$end值,因此我不确定如何实际计算时间差。
我在我的应用程序中将NSButton设置为切换(开/关).当我单击按钮它工作正常,但当我尝试以编程方式使用[toggleButton setEnabled:YES];它时它没有任何效果.
码:
- (void)awakeFromNib {
defaults = [NSUserDefaults standardUserDefaults];
NSString *toggleValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"toggleActive"];
if (toggleValue == nil) toggleValue = @"YES";
if ([toggleValue isEqualToString:@"YES"]) {
[defaults setObject:@"YES" forKey:@"toggleActive"];
isOn = YES;
[toggleButton setEnabled:YES];
}
if ([toggleValue isEqualToString:@"NO"]) {
[defaults setObject:@"NO" forKey:@"toggleActive"];
isOn = NO;
[toggleButton setEnabled:NO];
}
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (IBAction)toggleButton:(id)sender {
if( isOn ) {
[self stopFunction: (NSButton *)sender];
isOn = NO;
[defaults setObject:@"NO" forKey:@"toggleActive"];
} else {
[self startFunction (NSButton *)sender];
isOn …Run Code Online (Sandbox Code Playgroud) 我正在循环一个包含名为1,2,3等字典的NSDictionary.我遇到的问题是,在循环它们时,它们不会保持顺序.有没有办法在循环时保持数字顺序?谢谢.
码:
NSDictionary *theDict = [thePreviousKey objectForKey:@"stayInLine"];
for(NSString *key in theDict) {
[self doThis:key];
// expected result (do 1, 2, 3, etc.)
// actual result (1, 3, 2, etc.)
}
Run Code Online (Sandbox Code Playgroud)
plist中:
<dict>
<key>randomStuff</key>
<dict>
<key>specificStuff</key>
<dict>
<key>stayInLine</key>
<dict>
<key>1</key>
<dict>
<key>thing</key>
<data>
data==
</data>
</dict>
<key>2</key>
<dict>
<key>thing</key>
<data>
data==
</data>
</dict>
</dict>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud) 我想将一个随机数与一些字母数字字符交错,例如:HELLO与随机数25635→混合H2E5L6L3O5.我知道%1d控制间距,虽然我不知道如何在随机数之间插入文本或如何实现这一点.
码:
int main(void) {
int i;
srand(time(NULL));
for (i = 1; i <= 10; i++) {
printf("%1d", 0 + (rand() % 10));
if (i % 5 == 0) {
printf("\n");
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句 - 如果我的随机数发生器不是很好,我愿意接受建议 - 谢谢
我有一个文件的值如下:
(X1 55) (X2 99) (X3 29) (X1 3) (X3 10)
(X1 21) (X3 11) (X1 9)
Run Code Online (Sandbox Code Playgroud)
有没有办法Xn按每行中的名称添加值:
(X1 58) (X2 99) (X3 39)
(X1 30) (X3 11)
Run Code Online (Sandbox Code Playgroud)
我不确定哪个最好用,awk,sed或......?我试过这个:
awk '{for (i=t=0;i<NF;) t+=$++i; $0=t}1' file
196
41
Run Code Online (Sandbox Code Playgroud)
它显然将所有值加在一起,所以也许它有点复杂.