2015-02-26 3 views
2

У меня есть небольшое приложение, которое имеет 1 ViewController с: 2 Outlets (один UITextField и один UILabel) и 1 действий, которая запускается при нажатии кнопки. Код выглядит следующим образом:«uppercaseString» и «lowercaseString» на UITextField аварии в Swift

class ViewController: UIViewController { 

@IBOutlet weak var textField: UITextField! 
@IBOutlet weak var label: UILabel! 

@IBAction func changeText() { 
    label.text = textField.text.lowercaseString 
    } 
} 

Мои вопросы, почему каждый раз, когда я запустить приложение и нажать на кнопку, сбои приложений с EXC_BAD_ACCESS?

EDIT 1: Кажется, что проблема Xcode. Я вылетаю только на Xcode 6.3 beta, на 6.1.1 он отлично работает. Вот проект LINK

EDIT 2: проблема SOLVED, версия Xcode была проблемой, спасибо всем за ваши ответы!

+1

Получили ли вы какие-либо журнал сбоев? –

+0

Являются ли «IBOutlet» правильно связанными с раскадровки? – Raptor

+0

Да, розетки установлены правильно. В Obj-C отлично работает, в Swift он падает. Я добавил проекты здесь: [link] (https://github.com/alinmuntean/uppercaseSwift) –

ответ

1

Это известная проблема с бета-1, и она исправлена. Вы используете кнопку, чтобы обновить поле метки, но для этого не нужно использовать кнопку. Вы можете подключить свой IBAction к своему тексту. Отправленные в поле события. Редактирование изменено, чтобы изменить его с помощью реального времени при вводе предварительного просмотра.

Swift Compiler • @objc enums больше не приводит к сбою компилятора при использовании из другого файла. (19775284) • Исправлено использование после бесплатного сбоя в строках нижнего регистра и в верхнем регистре. (19801253)

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var label: UILabel! 

    @IBOutlet weak var textField: UITextField! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func changeText(sender: AnyObject) { 
     label.text = textField.text.lowercaseString 
    } 

} 

enter image description here

enter image description here

sample

+0

Благодарим вас за ответ, проблема в Xcode 6.3 beta 1. Он отлично работает на 6.1.1. –

+0

https://www.dropbox.com/s/qstsbv67c9jd6ru/uppercaseSwift-master.zip?dl=0 –

+0

это известная проблема с бета-1, и она исправлена ​​ –

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