[英]Swift 3 Instance member type
我有一個func saveNotes()這是NSObject的子類
Note.swift文件
func saveNotes() {
var aDictionaries:[NSDictionary] = []
for i:Int in 0 ..< allNotes.count {
aDictionaries.append(allNotes[i].dictionary())
}
UserDefaults.standard.set(aDictionaries, forKey: kAllNotes)
}
當我嘗試運行項目時,出現錯誤“實例成員'saveNotes'不能用於'Note'類型;您的意思是改為使用此類型的值。
來自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()
不知道我在做什么錯。 謝謝你的幫助。
錯誤:
實例成員'saveNotes'不能用於'Note'類型; 您是不是要使用此類型的值。
由編譯器顯示,因為您試圖直接從類中調用非實例方法 。
因此,您將有兩種方法:
首先 :使用聲明的n
實例調用saveNotes()
函數:
Note.loadNotes()
print("allNotes: \(allNotes)")
let n:Note = Note()
n.saveNotes()
第二 :如果您打算直接從Note
類調用saveNotes()
,則應將其聲明為static
方法:
static func saveNotes() { ... }
有關更多信息,您可以查看Swift文檔-方法 (“類型方法”部分)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.