小编Ben*_*Ben的帖子

Swift泛型:基于参数类型的返回类型

假设我有一个继承自公共超类的对象集合(在这种情况下,这比协议更可取):

class ObjectSuperClass {
    type: ObjectType
}
class ObjectClass1: ObjectSuperClass {
    type = .Type1
}
class ObjectClass2: ObjectSuperClass {
    type = .Type2
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找这样的通用搜索功能:

func objectsOfType<T: ObjectSuperClass>(T.class, otherFilter: Any?) -> [T]
Run Code Online (Sandbox Code Playgroud)

可用于搜索给定的子类型,返回更具体的结果数组:

let result = objectsOfType(ObjectClass2.class, otherFilter: nil) -> [ObjectClass2]
(pseudo-swift)
Run Code Online (Sandbox Code Playgroud)

我觉得这是generics可以帮助的地方,但无法看到应该放置约束的地方.可能吗?

generics swift

19
推荐指数
2
解决办法
1万
查看次数

如何在Core Data中无时间存储日期

我一直试图找到一种在iPhone上使用Core Data存储日常数据的合理方法.

我的应用程序以csv格式接收数据,但是没有时间:

date, cycles
2009-08-01, 123
2009-08-02, 234
2009-08-03, 345
2009-08-04, 456
Run Code Online (Sandbox Code Playgroud)

存储此数据时,每天只应有一条记录.我认为最好的办法是创建一个要存储的NSDate,但删除时间和时区数据.

我可以使用NSDateComponents或NSDateFormatter轻松创建一个没有小时,分钟或秒的NSDate.但是,即使我将时区显式设置为UTC或从GMT设置为零秒,使用NSLog()输出创建日期始终具有我的本地时区,如:

2009-07-29 00:00:00 +0100
Run Code Online (Sandbox Code Playgroud)

有没有人知道更好的方法来制作没有时间组件的NSDates?或者也许是存储日期的更好方法?

cocoa core-data nsdate

8
推荐指数
1
解决办法
6661
查看次数

标签 统计

cocoa ×1

core-data ×1

generics ×1

nsdate ×1

swift ×1