मैंने फ़ाइल टेम्पलेट सिस्टम में परिवर्तन देखा।कैसे एक्सकोड 9 कस्टम टेम्पलेट्स बदल गए? 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)
}
}
}
,
नई फ़ाइलें से इस फाइल को मैं सिर्फ टेम्पलेट उठा था बनाने के लिए ...
मेनू पूर्व के लिए एक नाम जोड़ें। टेबलसेल और हिट दर्ज करें। अब जब मैं करता हूँ यह मेरी उत्पादन इस तरह देखा:
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)
}
}
}
अब समस्या यह है, Xcode 9 में वे खेल के मैदान में टेम्पलेट के साथ टेम्पलेट्स में चीजें बदल (कुछ, कैसे नौसिखिया का प्रयोग करेंगे वैसे भी playgrounds में टेम्पलेट्स?)।
समस्या पर वापस, अब टेम्पलेट से फ़ाइलें बनाने के बाद, TableCell.swift वही दिखता है लेकिन TableCellView.swift इस परिवर्तन के कारण जंगली चला जाता है।जब मैं बनाने
___FILEBASENAME___View
तो अब ___FILEBASENAME___
हो जाता है नई
TableCellView यह इस तरह दिखता है:
import 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) } } }
अब समस्या अधिक जटिल हो जाता है जब मैं उदाहरण के लिए एक दूसरे से निर्भरता के साथ कई फ़ाइलों को बनाने मैं TableCellViewControllerDelegate के लिए प्रतिनिधि के साथ TableCellManager है, जब फ़ाइलों के निर्माण अब यह इस
TableCellManagerViewControllerDelegate की तरह लग रहा
बजाय बस
अगर नई बनाई गई फ़ाइल उदाहरण के लिए हैTableViewControllerDelegate
___FILEBASENAME___, कार्यक्षेत्र के आधार पर बदल दिया जाता है
___ FILEBASENAME ___ View.swift
उपयोग करते हुए कीवर्ड "तालिका" TableView.swift बनाता है - जिसमें ___FILEBASENAME___ "तालिका" नहीं है लेकिन "टेबल व्यू"
क्या कोई मुझे बता सकता है कि इसके साथ संभालने का कोई तरीका है या नहीं? शायद कुछ नया है जैसे ___KEYWORD___? नई फ़ाइल के निर्माण पर मैं एक ऐसा कीवर्ड दर्ज करना चाहता हूं जो Xcode के पुराने संस्करणों में ___FILEBASENAME___ जैसा काम करेगा। मदद!
है यही मदद करता है मैं क्या देख रहा था! आपका बहुत बहुत धन्यवाद! –
कोई समस्या नहीं :) खुशी हुई यह मदद की! –