在为现有实体创建新的CoreData属性时,Swift崩溃

时间:2016-08-02 09:30:19

标签: ios swift xcode core-data swift3

我正在尝试以编程方式在swift中为已存在的实体创建新的属性
这是我的代码:

from sklearn.feature_extraction.text import CountVectorizer

def tokenize(text):
    return([text.split('#', 1)[0].strip()])

text = ["first ques # on stackoverflow", "please help"]

vec = CountVectorizer(tokenizer=tokenize)
data = vec.fit_transform(text).toarray()
vocab = vec.get_feature_names()

required_list = []
for word in vocab:
    required_list.extend(word.split())
print(required_list)

#['first', 'ques', 'please', 'help']

应用程序总是因此错误而崩溃:

  

由于未捕获的异常而终止应用   'NSInternalInconsistencyException',原因:'无法修改不可变的   模型'。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

模型在运行时是不可编辑的。请参阅documentation,第Editing Models Programmatically段。您只能复制它并进行更改。

答案 1 :(得分:1)

您只能在使用之前更改数据模型来读取或存储数据。当你第一次加载它时它是可变的,但只要你将它用于模型编辑以外的任何东西它就会变成不可变的。

像这样改变模型通常是个坏主意。但是,如果出于某种原因需要它,那么在使用该模型加载或保存任何数据之前,必须执行此操作。

答案 2 :(得分:-1)

我还没有尝试过这个,但是如何将模型从常量变为变量(即var而不是let)。