       static var attributeDescription: NSAttributeDescription {
         let attributeDescription = NSAttributeDescription()
         attributeDescription.name = name
-        attributeDescription.attributeType = .StringAttributeType
-        attributeDescription.optional = false
+        attributeDescription.attributeType = .stringAttributeType
+        attributeDescription.isOptional = false
         return attributeDescription
       }
     }

     - returns: An optional that might or might not contain saved custom zone name.
     */
    func zoneName() throws -> String? {
      let fetchRequest = NSFetchRequest(entityName: Entity.name)
      fetchRequest.predicate = NSPredicate.preferenceZoneNamePredicate
      return (try context.executeFetchRequest(fetchRequest).first as? Preference)?.value
    }
    
    /**

     - parameter name: Name of the CloudKit custom zone subscription.
     */
    func saveZoneSubscriptionName(name: String) {
      let preference = NSEntityDescription.insertNewObject(forEntityName: Entity.name, into: context) as! Preference
      preference.key = Default.zoneSubscriptionName
      preference.value = name
      try! context.save()
