String(format: の使用方法について


Swiftで以下のコードを書くとエラーが出ます。何が悪いのでしょうか。

[code]

    let name = "John"
    let age = 25
    
    let message = String(format: "名前：%s、年齢：%d歳", name, age)
    print(message)
    
[/code]

エラー

[code]

    error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0xb441d7742da526b0).
    The process has been left at the point where it was interrupted, use "thread return -x" to return to the state before expression evaluation.
    
[/code]




文字列を表すフォーマット指定子は`%s`ではなく、`%@`です。なので

[code]

    let message = String(format: "名前：%@、年齢：%d歳", name, age)
    
[/code]

で動くと思います。




文字列を表すフォーマット指定子は`%s`ではなく、`%@`です。なので

[code]

    let message = String(format: "名前：%@、年齢：%d歳", name, age)
    
[/code]

で動くと思います。

