Есть ли способ установить цвет фона для полного столбца для субботы и воскресенья в «React Full Calendar»

При вызове функции, объявленной с помощью throws в Swift, вы должны аннотировать сайт вызова функции с помощью try или try!. Например, с учетом функции throwing:

func willOnlyThrowIfTrue(value: Bool) throws {
  if value { throw someError }
}

эту функцию можно вызвать как:

func foo(value: Bool) throws {
  try willOnlyThrowIfTrue(value)
}

Здесь мы аннотируем вызов с помощью try, который вызывает что эта функция может генерировать исключение, и любые следующие строки кода могут не выполняться. Мы также должны аннотировать эту функцию с помощью throws, потому что эта функция может генерировать исключение (т. Е. Когда willOnlyThrowIfTrue() бросает, тогда foo автоматически восстанавливает исключение вверх.

Если вы хотите вызовите функцию, которая объявлена ​​как возможно бросающая, но которую вы знаете, не будет бросать в ваш случай, потому что вы даете ей правильный ввод, вы можете использовать try!.

func bar() {
  try! willOnlyThrowIfTrue(false)
}

Таким образом, когда вы гарантируете, что код не будет бросать, вам не нужно вводить дополнительный код шаблона, чтобы отключить распространение исключений.

try! применяется во время выполнения: если вы используете try!, и функция

Большинство обработок обработки исключений должно выглядеть так: либо вы просто распространяете исключения вверх, когда они происходят, либо вы устанавливаете такие условия, что в противном случае исключаются исключения. Любая очистка других ресурсов вашего кода должна происходить посредством уничтожения объекта (например, deinit()) или иногда через defer ed код.

func baz(value: Bool) throws {

  var filePath = NSBundle.mainBundle().pathForResource("theFile", ofType:"txt")
  var data = NSData(contentsOfFile:filePath)

  try willOnlyThrowIfTrue(value)

  // data and filePath automatically cleaned up, even when an exception occurs.
}

Если по какой-либо причине вы очищаете код, который нужно запустить, но не в функции deinit(), вы можете использовать defer.

func qux(value: Bool) throws {
  defer {
    print("this code runs when the function exits, even when it exits by an exception")
  }

  try willOnlyThrowIfTrue(value)
}

Большинство кода, который имеет дело с исключениями, просто передают их вверх вызывающим абонентам, проводя очистку по пути через deinit() или defer. Это связано с тем, что большинство кодов не знает, что делать с ошибками; он знает, что пошло не так, но у него недостаточно информации о том, что пытается сделать какой-то код более высокого уровня, чтобы знать, что делать с ошибкой. Он не знает, подходит ли представление пользователю диалога, или если он должен повторить попытку, или если что-то еще подходит.

Однако код более высокого уровня должен точно знать, что делать в случае любой ошибки. Таким образом, исключения допускают появление определенных ошибок, из которых они первоначально возникают, где они могут быть обработаны.

Обработка исключений выполняется с помощью операторов catch.

func quux(value: Bool) {
  do {
    try willOnlyThrowIfTrue(value)
  } catch {
    // handle error
  }
}

Вы можете имеют несколько операторов catch, каждый из которых имеет различный вид исключения.

  do {
    try someFunctionThatThowsDifferentExceptions()
  } catch MyErrorType.errorA {
    // handle errorA
  } catch MyErrorType.errorB {
    // handle errorB
  } catch {
    // handle other errors
  }

Подробнее о передовых методах с исключениями см. в http://exceptionsafecode.com/ . Это специально предназначено для C ++, но после изучения модели исключения Swift я считаю, что основы применимы и к Swift.

Подробнее о модели синтаксиса Swift и обработки ошибок см. В книге The Swift Язык программирования (Swift 2 Prerelease) .

3
задан Kusal Kithmal 16 January 2019 в 08:00
поделиться

1 ответ

Вы можете использовать свойство dayPropGetter, чтобы настроить его

Вот как ваша функция должна выглядеть

const customDayPropGetter = (date: Date) => {
  if (date.getDate() === 7 || date.getDate() === 6)
    return {
      className: 'special-day',
      style: {
        border: 'solid 3px ' + (date.getDate() === 7 ? '#faa' : '#afa'),
      },
    };
  else return {};
};

и назначить функцию следующим образом

 dayPropGetter={customDayPropGetter}

демо

источник

0
ответ дан Just code 16 January 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: