2015-09-07 3 views
0

Я использую быстрый язык. У меня есть два UITextFields, в которые пользователь вводит данные. Это поле серийного номера. Если пользователь вводит 123456789, я хочу, чтобы он отображался как 123-45-6789 и 12-3456789 как пользовательский тип. Как это возможно?Форматирование серийного номера

+3

см. Эту ссылку, это поможет вам http://stackoverflow.com/questions/1246439/uitextfield-for-phone-number –

+0

Эта ссылка не соответствует моему желанию. Потому что перед моим вопросом я видел эту ссылку. Если вы прочтете свою ссылку, это другое форматирование, и я уже пытаюсь выполнить код, указанный в этой ссылке. –

ответ

-1

Вот как можно форматировать строку,

let serialNumber = 123456789 
let snStr = "\(123456789)" 
let nsStr = snStr as NSString 

let start = nsStr.substringWithRange(NSRange(location: 0, length: 3)) 

let end = nsStr.substringWithRange(NSRange(location: 3, length: 6)) 

let result = "\(start)-\(end)" 

enter image description here

Что вы должны сделать, это создать объект, который реализует CustomStringConvertible или Printable в зависимости от версии стрижа вы используете.

Затем в вашем методе description/хранимом имуществе вы бы поставили код, аналогичный тому, что у меня выше. Когда пользователь вводит текст, текстовое поле будет хранить свойство в модели вашего MVC, и в итоге оно будет отображаться на экране. Вид - в свою очередь вызовет часть вашего объекта и отобразит текст на экране.

+0

почему голос? – Jeef

Смежные вопросы