请帮我理解以下代码的问题:
NSString *fontName = @"ArialMT";
CGFloat fontSize = 20.0;
CTFontRef fontRef = CTFontCreateWithName((CFStringRef)fontName, fontSize, NULL);
NSString *characters = @"ABC";
NSUInteger count = characters.length;
CGGlyph glyphs[count];
if (CTFontGetGlyphsForCharacters(fontRef, (const unichar*)[characters cStringUsingEncoding:NSUTF8StringEncoding], glyphs, count) == false)
NSLog(@"*** CTFontGetGlyphsForCharacters failed.");
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
我在最新的 mac 操作系统上使用 shell 脚本“a.sh”进行了实验,其中包含以下内容(精确副本)。
#!/bin/bash
echo $BASH_VERSION
a=0
(( a < 100 || 1 / a < 2 )) && echo ok
Run Code Online (Sandbox Code Playgroud)
我有:
3.2.57(1)-release
./a.sh: line 4: ((: a < 100 || 1 / a < 2 : division by 0 (error token is "< 2 ")
Run Code Online (Sandbox Code Playgroud)
既然a < 100已经是事实了,我想1 / a < 2就不会评价了。
有人可以帮助我理解这一点吗?
假设我有一个带有一些编辑命令的文件“edit_commands”,例如:
:1,$s/good/better/g
:1,$s/bad/worse/g
Run Code Online (Sandbox Code Playgroud)
有没有办法让 vi 加载并运行“edit_commands”中的命令?
更新:看来“-S”选项可用于此目的。请参阅: 如何从命令提示符运行一系列 vim 命令
我在游乐场尝试了以下内容:
var d1 = [String: [String]]()
d1["a"] = [String]()
var a1 = d1["a"]!
a1.append("s1")
println(d1)
Run Code Online (Sandbox Code Playgroud)
输出是:[a: []]
我希望:[a: ["s1"]]
在字典中改变数组的正确方法是什么?
以下Objective C代码的预期结果是什么?
int intValue = 1;
NSString *string = [NSString stringWithFormat:@"%+02d", intValue];
Run Code Online (Sandbox Code Playgroud)
我认为字符串的值是"+01",结果是"+1".格式字符串"+01"中的某些"0"被忽略.将代码更改为:
int intValue = 1;
NSString *string = [NSString stringWithFormat:@"%02d", intValue];
Run Code Online (Sandbox Code Playgroud)
string的值现在是"01".它确实产生前导"0".但是,如果intValue为负数,则如下所示:
int intValue = -1;
NSString *string = [NSString stringWithFormat:@"%02d", intValue];
Run Code Online (Sandbox Code Playgroud)
string的值变为"-1",而不是"-01".
我错过了什么吗?或者这是一个已知的问题?推荐的解决方法是什么?提前致谢.
ios ×2
bash ×1
core-text ×1
dictionary ×1
immutability ×1
iphone ×1
nsstring ×1
objective-c ×1
swift ×1
vi ×1
vim ×1