お世話になっております。
以下で落ちる原因がわかりません。

class MapsDocument: UIDocument {

    var documentText : NSString? {

        get {
            return self.documentText // 【ここで落ちる】
        }

        set(newText) {
            let oldText = self.documentText
            self.documentText = newText!.copy() as? NSString

            // 取り消し操作を登録する
            self.undoManager.setActionName("Text Change")
            self.undoManager.registerUndoWithTarget(self, selector: "setDocumentText:", object: oldText)
        }
    }

として、他のビューコントローラーで、

    var _document : MapsDocument!

        override func viewWillDisappear(animated: Bool) {
            super.viewWillDisappear(animated)
            let newText = self.textView.text

            if _document != nil {

                _document.documentText = newText // 【ここで落ちる】

                // ドキュメントを閉じる
                _document.closeWithCompletionHandler(nil)
            }
        }

として呼び出すと落ちます。

何がいけないのでしょうか?

documentTextnilなようなのですが。