2017-09-10 7 views
-1

私は(FUNCのsaveNotesを持っています)エラー「インスタンスメンバー 『saveNotes』タイプでは使用できません 『注意してください』;あなたの代わりに、この型の値を使用することを意味したスウィフト3インスタンスメンバー型

MasterViewControler.swift

からコード。
import UIKit 
import Foundation 


class MasterViewController: UITableViewController { 

    var objects = NSMutableArray() 

    override func viewDidLoad() { 
     Note.loadNotes() 
     print("allNotes: \(allNotes)") 
     var n:Note = Note() 
     Note.saveNotes() 

ここで間違っていることがわかりません。助けてくれてありがとう。

+1

'n.saveNotes()'代わりに。 – luk2302

+0

'saveNotes()'を 'static'関数として作成してみてください。また、@ luk2302 suggestは良いものです – wajeeh

+0

1.関数はどのように' NSObject'のサブクラスになりますか?それは意味をなさない。これはSwiftですが、一般的には 'NSObject'を使用しません。 3. NS [Mutable] DictionaryまたはNS [Mutable] Arrayを使用しないでください。ネイティブのSwift辞書と配列を使用します。 – rmaddy

答えて

1

のエラー:

インスタンスメンバー「saveNotesは」「注意」タイプに使用することができません。 は、代わりにこのタイプの値を使用しましたか?

あなたはクラスから直接非インスタンスメソッドを呼び出すしようとしているため、コンパイラによって示されています。

まず

したがって、あなたは2つのアプローチを持っているでしょうsaveNotes()関数を呼び出すように宣言nインスタンスを使用します。

Note.loadNotes() 
print("allNotes: \(allNotes)") 
let n:Note = Note() 
n.saveNotes() 

第二:あなたが直接saveNotes()を呼び出すために目指していた場合Noteクラスからは、staticメソッドとして宣言する必要があります。

static func saveNotes() { ... } 

詳細については、Swift Documentation - Method(「種類のメソッド」セクション)を参照してください。

+0

これはうまくいった!ありがとうございます。 – JH314Pi