私は新しいiOS開発者です。私のプロジェクト内の別の目的のCファイルでSwiftクラスを初期化するのに小さな問題があります。私はすでに適切にプロジェクトを設定し、この質問への回答ごとにクラスをインポートしていますObjective-Cでswiftクラスの複数引数initを使用するための構文
Can't use Swift classes inside Objective-C
私の質問はこれです:何がObjective-Cでこの迅速クラスのinitメソッドを呼び出すための構文になります?私はそうのようにそれを書いて試してみました
@objc class Book: NSObject{
private var title: String
private var author: String
private var detail: String
private var buyLink: String
private var rank: integer_t
private var lastRank: integer_t?
public init(newTitle: String,newAuthor: String, newDetail: String, newBuyLink: String, newRank: integer_t, newLastRank: integer_t?){
self.title = newTitle
self.author = newAuthor
self.detail = newDetail
self.buyLink = newBuyLink
self.rank = newRank
self.lastRank = newLastRank
}
func getBasicInfo() -> (title: String, author: String) {
return (title, author)
}
func getDetailInfo() -> (detail: String, buyLink: String, rank: integer_t, lastRank: integer_t?) {
return (detail, buyLink, rank, lastRank)
}
}
:本はNSDictionaryの
ですが、エラーがある
NSString *title = [NSString stringWithFormat:@"%@", book[@"title"]];
NSString *author = [NSString stringWithFormat:@"%@", book[@"author"]];
NSString *detail = [NSString stringWithFormat:@"%@", book[@"description"]];
NSString *buyLink = [NSString stringWithFormat:@"%@", book[@"amazon_product_url"]];
int rank = [book[@"rank"] intValue];
int lastRank = [book[@"rank_last_week"] intValue];
Book *bookFromList = [[Book alloc] initWithNewTitle: title newAuthor: author
newDetail: detail newBuyLink: buyLink newRank: rank newLastRank: lastRank];
は「『ブック』の目に見える@interfaceはセレクタ「を宣言していません
initWithNewTitle :newAuthor:NewDetail:..... '