小编Aid*_*den的帖子

CoreData 使用 NSPredicate 有条件地获取 NSDate (swift)

基本上我有一个名为 TimeLoc 的实体,它具有三个属性:时间、纬度和经度。它们的类型分别是 Date、Double 和 Double。当我尝试使用属性时间过滤器发出请求时,我陷入了困境。

这是我的代码:

...
var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate) 
var context: NSManagedObjectContext = self.managedObjectContext!
var request = NSFetchRequest(entityName: "TimeLoc")
var endTime = NSDate()
var startTime = NSDate(timeIntervalSinceNow: -65)
let predicate = NSPredicate(format: "time>= \(startTime) AND time<= \(endTime)")
request.predicate = predicate
var results: NSArray = context.executeFetchRequest(request, error: nil)!
...
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:“无法解析格式字符串“time>= 2015-07-14 03:24:03 +0000 AND time<= 2015-07-14 03:25:08 +0000””

我应该如何解决这个问题?我用 google 搜索了一下,但找到的所有解决方案都是 Objective-C 的。如果有人能用 Swift 回答我,那就太好了。

编辑:正如 V-Xtreme 所建议的,这个问题的答案可以在 Glauco Neves对此问题的回答中找到

core-data nsdate nspredicate ios swift

3
推荐指数
1
解决办法
3409
查看次数

以编程方式更改swift中导航栏的高度

我想创建一个更高的导航栏,我想尝试使用UINavigationBar的子类.

这是我的UINavigationBar的子类:

import UIKit
class TallerNaviBar: UINavigationBar {
    override func sizeThatFits(size: CGSize) -> CGSize {
        var newSize:CGSize = CGSizeMake(size.width, 87)
        return newSize
    }
}
Run Code Online (Sandbox Code Playgroud)

在嵌入导航控制器的ViewController中,我在viewDidLoad()函数中编写以下代码

self.navigationController!.setValue(TallerNaviBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 87)), forKeyPath: "navigationBar")
Run Code Online (Sandbox Code Playgroud)

报告没有错误,但是在运行代码时我什么都没得到.一个完全空白的视图.在此输入图像描述.

有什么建议吗?或者其他一些改变高度的方法?谢谢.

uinavigationbar uinavigationcontroller ios swift

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