
[code]

    let action = UIAlertController(title: "OK", message: .default) {(_)in
    
[/code]

書くと `Type 'String?' has no member 'default'` というエラーが出ます。
なぜこのようなエラーが出るのでしょうか？どう直せばエラーが消えますか？


CC BY-SA 3.0
2018-02-01T15:20:55.353
41388
2018-03-06T11:18:22.863
2018-02-01T15:33:41.270
19110
27243
question
swift
Type 'String?' has no member 'default'とエラーが出る


エラーが出る理由を補足します。

引数のmessageはString?型の値です。  
<https://developer.apple.com/documentation/uikit/uialertcontroller/1620106-message>

そのため、コンパイラはStringが省略されたものとして以下のように解釈します。

[code]

    UIAlertController(title: "OK", message: String.default)
    
[/code]

ですが、String型にはdefaultという名前のプロパティ（メンバ変数）は存在しないため、  
「String?型はdefaultというメンバ変数を持ちません」というエラーが出ます。

[code]

    type 'String?' has no member 'default'
    
[/code]


CC BY-SA 3.0
2018-03-06T11:18:22.863
42170
2018-03-06T11:18:22.863
19889
41388
answer