2017-04-18 107 views
0

我想trimm從輸入字段值的空白。輸入字段值可能爲空,所以而不是應用如果讓所有字段我想在字符串上創建擴展?如何在String上創建擴展?在swift3中?在String上創建擴展?

+0

你是不是在'String?',像'Optional '? – Alexander

回答

3

如果您正在尋找在String?(又名Optional<String>)的延伸,t母雞你可以做這樣的事情:

import Foundation 

// From @ArpitDongre 
extension String{ 
    func trimmed() -> String { 
     return self.trimmingCharacters(in: .whitespacesAndNewlines) 
    } 
} 

extension Optional where Wrapped == String { 
    func trimmed() -> String? { 
     return self?.trimmed() 
    } 
} 
+1

我不知道創建擴展名是否有意義,而不是'string.trimmed()'而不是'string?.trimmed()':) – Sulthan

+3

@Sulthan它不是xD但是這是展示擴展的好方法具有泛型參數的泛型類型 – Alexander

2

在這裏你去:

extension String{ 

    func trimmed() -> String{ 
     return self.trimmingCharacters(in: .whitespacesAndNewlines) 
    } 
} 

用法:

"abcd ".trimmed() 

let text = "abcd " 
text.trimmed() 
+4

你應該命名它'trimmed()'。 'trim()'應該是'mutating'版本。 – Sulthan

+0

@Sulthan權利。 –