我正在尝试以编程方式在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',原因:'无法修改不可变的 模型'。
我该如何解决这个问题?
答案 0 :(得分:1)
模型在运行时是不可编辑的。请参阅documentation,第Editing Models Programmatically
段。您只能复制它并进行更改。
答案 1 :(得分:1)
您只能在使用之前更改数据模型来读取或存储数据。当你第一次加载它时它是可变的,但只要你将它用于模型编辑以外的任何东西它就会变成不可变的。
像这样改变模型通常是个坏主意。但是,如果出于某种原因需要它,那么在使用该模型加载或保存任何数据之前,必须执行此操作。
答案 2 :(得分:-1)
我还没有尝试过这个,但是如何将模型从常量变为变量(即var而不是let)。