엘로! 저는 Mac 용 메모 응용 프로그램에서 언어로 swift를 사용하고 있습니다. 현재 저장 및로드 기능을 사용하고 있으며 오류를 해결하기 위해 실행 방법을 잘 모르겠습니다. 문제가되는 코드는 다음과 같습니다.Xcode 7 스위프트 2 오류 : 스레드 1 : EXC_BAD_INSTRUCTION (코드 = EXC_1386_INVOP, SUBCODE = 0X0)
import Cocoa
class NoteViewController: ViewController {
@IBOutlet weak var notefield: NSTextField!
@IBOutlet weak var savenamefield: NSTextField!
@IBOutlet weak var loadnamefield: NSTextField!
@IBAction func save(sender: AnyObject) {
// The line below gets the error: Thread 1: EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP, subcode=0x0
NSUserDefaults.standardUserDefaults().setObject(notefield.stringValue, forKey: savenamefield.stringValue)
}
@IBAction func load(sender: AnyObject) {
var name = loadnamefield.stringValue;
var lnote = NSUserDefaults.standardUserDefaults().objectForKey(name)
notefield.stringValue = lnote as! String
}
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
}
무엇이 잘못 되었나요?
대단히 사랑 스럽네요 * 예기치 않은 발견 nil ... * 오류. 아웃렛이 Interface Builder에 연결되어 있습니까? 두 번째 생각 :'lnote'는'load' 메소드에서'nil'입니다. 그런데'NSUserDefaults'에 전용'stringForKey' 메소드가 있습니다. – vadian
나는 stringforkey에 대해 몰랐다. 나는 그것을 시도 할지도 모른다. 추천 주셔서 감사합니다! –
문서를 읽는 데 상처를주지 않습니다 ;-) 발견 할 비밀이 있습니다 ... – vadian