我有UIViewController 1,那scroll view.在这scrollview里面有container view固定的top/bottom leading/trailing(没有固定的高度).Container view已经UITableView固定到top/bottom trailing/leading和height constraint with 0 constant,将在改变updateViewConstraints内容的大小的高度.
当出现UIViewController 1的视图时,Container View具有约束:
NSLayoutConstraint:0x7b03e5f0 V:[UITableView:0x7c42a200(54)],NSLayoutConstraint:0x7b0ba120 V:| - (0) - [UITableView:0x7c42a200](名称:'|':UIView:0x7b0b7000),NSLayoutConstraint:0x7b0ba1b0 V:[UITableView: 0x7c42a200] - (O) - | (名称:'|':UIView:0x7b0b7000),NSLayoutConstraint:0x7b65f900'UIView-Encapsulated-Layout-Height'V:[UIView:0x7b0b7000(0)]
将尝试通过打破约束来恢复
NSLayoutConstraint:0x7b03e5f0 V:[UITableView:0x7c42a200(54)]
什么是UIView-Encapsulated-Layout-Heigh?我怎么能跳过它?因为它打破了"正确"约束(我更新到内容大小高度).谢谢
NSFetchResultController与NSFetchRequest具有fetchBatchSize = 20总是返回所有实体。它可以是什么?我没有使用 sectionKeyPath 并尝试了不同的排序描述符,但它仍然返回所有对象。
谢谢回复!我会详细说明的。我有一个具有两个字段的实体 - 距离和时间。我已经创建了 NSFetchResultController:
func noticesFetcher() -> NSFetchedResultsController {
let fetchRequest = NSFetchRequest()
let defaultStore = RKManagedObjectStore.defaultStore()
let entity = NSEntityDescription.entityForName("Notice", inManagedObjectContext: defaultStore.mainQueueManagedObjectContext)
fetchRequest.entity = entity
let distanceSortDescriptor = NSSortDescriptor(key: "distance", ascending: true)
let timeSortDescriptor = NSSortDescriptor(key: "time", ascending: false)
let sortDescriptors = [distanceSortDescriptor, timeSortDescriptor]
fetchRequest.sortDescriptors = sortDescriptors
fetchRequest.fetchBatchSize = 20
let resultFetcher = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: defaultStore.mainQueueManagedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
return resultFetcher
}
Run Code Online (Sandbox Code Playgroud)
但是当我执行 fetcher 时,我总是将所有实体都放在数据库中。(100)
func performFetcher(fetcher: …Run Code Online (Sandbox Code Playgroud)