我试图理解为什么忽略泛型方法的where子句
我在Swift 3中做了一个简单的用例(你可以在操场上复制代码,如果你想要它的话):
//MARK: - Classes
protocol HasChildren {
var children:[Human] {get}
}
class Human {}
class SeniorHuman : Human, HasChildren {
var children: [Human] {
return [AdultHuman(), AdultHuman()]
}
}
class AdultHuman : Human, HasChildren {
var children: [Human] {
return [YoungHuman(), YoungHuman(), YoungHuman()]
}
}
class YoungHuman : Human {}
//MARK: - Generic Methods
/// This method should only be called for YoungHuman
func sayHelloToFamily<T: Human>(of human:T) {
print("Hello \(human). You have no children. But do you conform …Run Code Online (Sandbox Code Playgroud) 我正在创建一个简单的应用程序,用户可以创建使用CoreData保存的多个对象.
我的问题是,我希望每个对象都有一个链接到它的图像.图像由iphone相机或用户个人相机胶卷带来,因此图像将具有相当高的重量(我认为每个> 1MB).我读到当图像的权重很高时,处理这个问题的好方法是将图像保存在documentsDirectory文件夹中,并保存到coreData的路径.我很容易实现这一点.
但是如何找到要链接到唯一对象的图像的路径名?CoreData并没有真正处理唯一的ID,并且两个对象可以具有相同的名称...我搜索了objectID,但它的工作效果并不好,我不确定这是处理这个问题的好方法.
你有什么主意吗?还有一种我完全失踪的简单方法吗?先感谢您.