मैं विस्तार में एक वर्ग समारोह जोड़ना चाहते हैं:स्विफ्ट: 'स्ट्रिंग में एक वर्ग विधि कैसे जोड़ें "विस्तार
extension String {
class func test() {
}
}
मैं त्रुटि मिलती है: Class methods are only allowed within classes; use 'static' to declare a static method
या मैं कैसे बुलाना चाहिए" String.test()
"
लेकिन के लिए NSString
extension NSString {
class func aaa() {
}
}
कोई त्रुटि नहीं।
मैं जोड़ देते हैं तो स्थिर कीवर्ड:
extension String {
static func aaa() {
self.stringByAppendingString("Hello")
}
}
गॉट: Expression resolves to an unused function
,
तो मैं कैसे एक वर्ग समारोह जोड़ना चाहिए भी self.
विधि का उपयोग करना चाहते हैं।
संपादित करें: यह काम करता है!
extension String {
static func aaa (path:String) -> String {
return path.stringByAppendingString("Hello")
}
}
लेकिन के बारे में @ लैन के जवाब:
mutating func bbb(path: String) {
self += "world"
}
जब मैं इसे इस तरह दिखाई देता है टाइप करें:
String.bbb(&<#String#>)
String.bbb(&"nihao")
Cannot invoke 'bbb' with an argument list of type '(String)'
मुझे "String.add()" को कैसे कॉल करना चाहिए? –
स्ट्रिंग के उदाहरण पर, क्लास पर नहीं। यह टाइप स्ट्रिंग पर पूरी तरह से कोई कॉलिंग कॉलिंग नहीं करता है क्योंकि – Ian
हे @lan में शामिल करने के लिए कोई मूल्य नहीं है, क्या आप फिर से मेरे संपादित प्रश्न की जांच कर सकते हैं? –