我有一个核心数据关系,其中一个实体拥有许多另一个实体.据我所知,许多类的每个实例都保存在NSSet中?在一个班级里面.(?)
我的问题是 - 在这个集合中添加项目的最佳方法是什么?我认为这一定是一个非常普遍的问题 - 但我似乎无法找到一个简单的方法.
这是我的尝试:(这一切都来自一个班级)
static var timeSlotItems: NSSet? //The Set that holds the many?
...
static func saveTimeSlot(timeSlot: TimeSlot) { //TimeSlot is the many object
retrieveValues()
var timeSlotArray = Array(self.timeSlotItems!)
timeSlotArray.append(timeSlot)
var setTimeSlotItems = Set(timeSlotArray)
self.timeSlotItems = setTimeSlotItems // This is the error line
}
Run Code Online (Sandbox Code Playgroud)
其中retrieveValues()只更新类中的所有coreData值.TimeSlot是我想要添加的许多对象.
我在最后一行收到错误,错误是:"无法使用类型为Array的列表参数调用类型Set <_>的初始值设定项"
我在概念上是错的吗?谢谢!
Angular 4 的新手,我正在构建一些东西。
我有几个组件,其中一个的 html 是这样的:
<div class="row" style="border:1px solid black;">
<br>
<div class="col s1"><h2 class="titleClass">Categories: </h2></div>
<div *ngFor="let number of numbersList">
<div class="input-field col s2" *ngIf="number < numberOfCategoriesShown">
<select id={{number}} (onChange)="onChange()" >
<option value={{allString}}></option>
<option value={{type}} *ngFor="let type of categoryList[number]">{{type}}</option>
</select>
<label>Category {{number + 1}}</label>
</div>
</div>
</div>
<button (click)="onChange()"></button>
Run Code Online (Sandbox Code Playgroud)
我希望每当我更改这些选定对象之一中的值时就调用一个函数。该函数称为 onChange。
但是,无论出于何种原因,它都不起作用。但底部的 (click)="onChange()" 是。同样有趣的是,如果我更改组合框的值然后尝试单击该按钮,则该按钮也不起作用。
有人可以帮我吗?我已经在组件的类中声明了 onChange 函数。
我的 .ts 文件如下所示:
import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';
import { VideoService } from '../../services/video.service';
import { …Run Code Online (Sandbox Code Playgroud)