В ответ на ответ @Matthias Bauch. Мне пришлось внести небольшие изменения в соответствии с Swift 2.2 в Xcode 7.3:
class ReselectableSegmentedControl: UISegmentedControl {
@IBInspectable var allowReselection: Bool = true
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
let previousSelectedSegmentIndex = self.selectedSegmentIndex
super.touchesEnded(touches, withEvent: event)
if allowReselection && previousSelectedSegmentIndex == self.selectedSegmentIndex {
if let touch = touches.first {
let touchLocation = touch.locationInView(self)
if CGRectContainsPoint(bounds, touchLocation) {
self.sendActionsForControlEvents(.ValueChanged)
}
}
}
}
}
Вы не должны делать это в Entity Framework. Все популярные реляционные базы данных поддерживают ON CASCADE DELETE
для внешних ключей, что также намного эффективнее. Я предлагаю вам просто пойти на это.