2
Ello!私は言語としてswiftを使用して、Mac用のメモアプリに取り組んでいます。私は現在、セーブとロードの機能に取り組んでおり、エラーを回避して実行しています。修正方法がわかりません。問題のあるコードは次のとおりです。Xcode 7 Swift 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で接続されていますか? 2番目の考え: 'lnote'は' load'メソッドの 'nil'です。ちなみに、 'NSUserDefaults'には専用の' stringForKey'メソッドがあります。 – vadian
私はstringforkeyについて知らなかった。私はそれを試みるかもしれない。推薦してくれてありがとう! –
ドキュメントを読むことに傷つくことはありません;-)発見する秘密がいくつかあります... – vadian