Xcode 9 betaをダウンロードした後、私はファイルテンプレートシステムの変更に気付きました。Xcode 9のカスタムテンプレートはどのように変更されましたか?
たとえば、私は2つのファイルを作成していたシンプルなテンプレートを持っていました(おそらくそのようにはうまくいかないはずです)。ベースファイル名
ある___ FILEBASENAME ___
と
迅速___ FILEBASENAME ___ View.swift
とそのTableCell.swiftとTableCellView.swiftを作成するには、ここでのコードは次のとおりです。
//
// ___FILENAME___
// ___PROJECTNAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//
import Foundation
import UIKit
class ___FILEBASENAME___: UITableViewCell {
let mainView = ___FILEBASENAME___View()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupCell()
contentView.addSubview(mainView)
mainView.setupView()
}
fileprivate func setupCell() {
backgroundColor = UIColor.clear
selectionStyle = .none
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
とビューファイル:
//
// ___FILENAME___
// ___PROJECTNAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//
import Foundation
import UIKit
import SnapKit
fileprivate struct Constants {
}
class ___FILEBASENAME___View: UIView {
func setupView() {
setupSelf()
}
fileprivate func setupSelf() {
snp.makeConstraints { (make) in
make.leading.trailing.top.bottom.equalTo(0)
}
}
}
EXのための名前を追加し、...
メニューを私はちょうど
新しいファイルからテンプレートを選んれたこのファイルを作成します。 TableCellを押してEnterキーを押します。さて問題は、Xcodeの9で、彼らは初心者が使用する方法、遊び場でテンプレートと何か(テンプレートで物事を変え、ある
import Foundation import UIKit class TableCell: UITableViewCell { let mainView = TableCellView() override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) setupCell() contentView.addSubview(mainView) mainView.setupView() } fileprivate func setupCell() { backgroundColor = UIColor.clear selectionStyle = .none } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
と
import Foundation import UIKit import SnapKit fileprivate struct Constants { } class NewCellView: UIView { func setupView() { setupSelf() } fileprivate func setupSelf() { snp.makeConstraints { (make) in make.leading.trailing.top.bottom.equalTo(0) } } }
:私はこれを行うとき、今私の出力はこのように見えましたプレイグラウンドのテンプレートはとにかく?)。
これで、テンプレートからファイルを作成した後、TableCell.swiftは同じように見えますが、この変更によってTableCellView.swiftがワイルドになります。
:私は作成したとき、それはこのようになりますTableCellViewimport Foundation import UIKit import SnapKit fileprivate struct Constants { } class TableCellViewView: UIView { func setupView() { setupSelf() } fileprivate func setupSelf() { snp.makeConstraints { (make) in make.leading.trailing.top.bottom.equalTo(0) } } }
___FILEBASENAME___View
は今、新たな
___FILEBASENAME___
になります
今の問題は、私は例えば互いに依存関係を持つ複数のファイルを作成するときに、私はTableCellViewControllerDelegateに委譲してTableCellManagerを持って、より複雑になり、ファイルを作成するときに、今ではこの
のように見えますTableCellManagerViewControllerDelegate
代わりただ
新しく作成されたファイルは、例えばある場合TableViewControllerDelegate
___FILEBASENAME___は、スコープに応じて置換された
___ FILEBASENAME ___ View.swift
は、キーワード "表" を使用してTableView.swiftを作成する - ここで___FILEBASENAME___ "表" ではありませんしかし、 "TableView"
誰も私にそれを扱う方法があると教えてもらえますか? おそらく___KEYWORD___のような新しいものがありますか?新しいファイルの作成時に、古いバージョンのXcodeで___FILEBASENAME___のように動作するキーワードを入力したいとします。助けて!
を!どうもありがとうございました! –
問題ありません:)うれしかった! –