Iac*_*ari 4 objective-c swift xcode6
在这里,我遇到了另一个noob问题:我试图在Swift中编写一个非常简单的程序,并且在尝试使用变量从程序中运行shell命令时遇到困难.
一个简单的例子:写作system("say hello").
但是以下代码不起作用:
var whatToSay = "hello world"
system("say \(whatToSay)")
Run Code Online (Sandbox Code Playgroud)
我在构建程序时遇到的错误是: Could not find member 'convertFromStringInterpolatingSegment'
有帮助吗?
你需要施展才能获得CString:
var whatToSay = "hello world"
var nsCommand : NSString = "say \(whatToSay)"
var command : CString? = nsCommand.cStringUsingEncoding(NSUTF8StringEncoding)
system(command!)
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您经常使用它,可以使用以下扩展名String:
extension String {
func toCString() -> CString? {
let nsSelf : NSString = self
return nsSelf.cStringUsingEncoding(NSUTF8StringEncoding)
}
}
var whatToSay = "hello world"
system("say \(whatToSay)".toCString()!)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |