有人可以解释一下我做错了什么吗?我是Swift的初学者,我正在尝试将Core Data应用到我已完成的应用程序中。 在我的例子中,我有3个班:月,周和日。 月有一个数组[周],类周有一个数组[日]
class Month {
var weeks: [Week]
}
class Week {
var days: [Day]
}
class Day {
var name: String
}
现在,当我尝试处理Core Data并且我与NSManagedObject子类一对多建立关系时,我有NSSet而不是我的数组[Week]或[Day]。
这个NSSet没有类型(对象是AnyObject),它使我的应用程序充满了错误。
在这种情况下,处理核心数据真的必须是NSSet吗?我可以以某种方式为NSSet集合设置类型吗?你可能知道NSSet不起作用;) 帮助我们,你们是专家。我不想改变我的应用程序的几乎所有代码:(
大多数问题都是FOR循环,我必须更改
for week in month.weeks {
for day in week.day{
day.name = "something"
}
}
到
for weekObject in month.weeks {
let week = weekObject as! Week
for dayObject in week.day {
let day = dayObject as! Day
day.name = "something"
}
}
答案 0 :(得分:0)
您可以改为使用类型化的设置:
server $ make
gcc -Wall -Wshadow -Wno-pointer-sign -O3 -g -fno-strict-aliasing -m32 -DSTAFF -o .obj/server.o -c server.c
In file included from server.c:57:0:
tool.h:24:20: error: conflicting types for ‘atoll’
unsigned long long atoll(char *string);
^
In file included from /usr/include/features.h:374:0,
from /usr/include/stdio.h:27,
from server.c:32:
/usr/include/stdlib.h:292:1: note: previous definition of ‘atoll’ was here
__NTH (atoll (const char *__nptr))
^
make: *** [.obj/server.o] Error 1