Objective-git を Swift で使用していますが、GTRepository.createCommitWithTree メソッドをコンパイルできません。
このメソッドは、オプションで author : GTSignature および committer : GTSignature パラメーターなしで呼び出すことができます。
私は Swift と関数のオーバーロードが初めてです。コンパイルできるようにこれを構造化する方法を知りたいです。
私のコードは、objective-git メソッドで指定されたすべてのタイプを使用します。
func commitTree ( tree : GTTree ) {
let message : NSString
let author : GTSignature
let committer : GTSignature
let parents : NSArray
let updatingReferenceNamed : NSString
var error : NSError?
GTRepository.createCommitWithTree( tree, message, author, committer, parents, updatingReferenceNamed, &error )
}
このコードでは、コンパイラはこれらの型の引数リストを使用してメソッドを呼び出すことはできません。コンパイラは追加情報を提供します: 「'createCommitWithTree' のオーバーロードは、これらの部分的に一致するパラメーター リストと共に存在します: (GTTree、メッセージ: 文字列、作成者: GTSignature、コミッター: GTSignature、親: [AnyObject]?、updateingReferenceNamed: 文字列?)、(GTTree、メッセージ: 文字列、親: [AnyObject]?、updateingReferenceNamed: 文字列?)"
上記の型を使用するようにリファクタリングすると、コンパイラは「メンバー 'createCommitWithTree' へのあいまいな参照」でコンパイルされません。
これをコンパイルするにはどうすればよいですか?
ありがとう