xcode不能为NSSet赋值类型..

时间:2017-10-25 01:53:58

标签: swift core-data

我正在使用Swift 3处理CoreData,我差不多完成了。我做了CoreData实体,现在我正在尝试从应用程序的表单中保存数据,我收到了这个错误:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp" ng-controller="testCtrl">
<li class="list-group" role="presentation" ng-repeat="groups in grp | orderBy:'created_at':true ">
  <h6 class="media-heading">{{groups.nim}}</h6>
  <h6 class="media-meta">{{groups.post}}</h6>
</li>           
</body>

我不是要求任何人解决错误,我只是想知道错误告诉我要做什么。 item.toStore = stores [storePicker ... line

上有错误

3 个答案:

答案 0 :(得分:1)

  

我不是要求任何人解决错误,我只想知道是什么   错误告诉我要做。

据我所知,toStore是CoreData中从to manyItem实体的Store关系。

现在,因为您只需了解错误,如果我是正确的并且关系正好超过那么这意味着Item实体与{1}}商店关联的商店set不是一个{ {1}},因此您收到此错误

  

错误:无法指定类型的值&#39;存储&#39;到NSSet类型的值?

答案 1 :(得分:1)

当您在CoreData模型上将关系设置为To Many时,它开始表现为数组。就像这样,您需要将数据附加到该数组,而不是为其分配类。您可以这样做:

.addingObjects(from: [Any])

答案 2 :(得分:-1)

问题是你的实体有一对多的关系,如果你想解决这个问题,试着把它改成“一个”。我知道你不想要答案,但这里有关于你如何解决这个问题的提示。如果您转到* .xcdatamodeld文件并找到您的Item实体,您可以看到属性关系...找到适当的关系并将其从“to-many”修改为“to-one”