我有一个func saveNotes(),它是NSObject的子类
Note.swift文件
import {Dimensions} from 'react-native'
const {width, height} = Dimensions.get('window')
const style = StyleSheet.create({
gridItem: width/2
})
当我尝试运行我的项目时,我收到错误"实例成员' saveNotes'不能用于类型'注意&#39 ;;你的意思是使用这种类型的值。
来自MasterViewControler.swift的代码
func saveNotes() {
var aDictionaries:[NSDictionary] = []
for i:Int in 0 ..< allNotes.count {
aDictionaries.append(allNotes[i].dictionary())
}
UserDefaults.standard.set(aDictionaries, forKey: kAllNotes)
}
不确定我在这里做错了什么。谢谢你的帮助。
答案 0 :(得分:2)
错误:
实例成员'saveNotes'不能用于'Note'类型;你是否 意味着要使用这种类型的值。
由编译器显示,因为您试图直接从类中调用非实例方法。
因此,您将有两种方法:
首先:使用声明的n
实例来调用saveNotes()
函数:
Note.loadNotes()
print("allNotes: \(allNotes)")
let n:Note = Note()
n.saveNotes()
第二次:如果您的目标是直接从saveNotes()
班级致电Note
,则应将其声明为 static
方法:
static func saveNotes() { ... }
有关详细信息,请查看Swift Documentation - Method(“类型方法”部分)。