Всякий раз, когда вы хотите использовать переменные переменные, вероятно, лучше использовать словарь. Поэтому вместо записи
$foo = "bar"
$$foo = "baz"
вы пишете
mydict = {}
foo = "bar"
mydict[foo] = "baz"
Таким образом, вы не будете случайно перезаписывать ранее существовавшие переменные (что является аспектом безопасности), и вы можете иметь разные " Пространства имен». [/ д2]
Вы можете использовать этот фрагмент, чтобы получить вибрацию.
UIView.animate(withDuration: 3.0, delay: 0.0,
usingSpringWithDamping: 0.1,
initialSpringVelocity: 0.9,
options: [.curveEaseIn, .overrideInheritedCurve], animations: {
let rangeOfTag = (self.detailText.text as NSString)
.range(of: "satisfactorily")
let glyRange = self.detailText.layoutManager.glyphRange(forCharacterRange: rangeOfTag, actualCharacterRange: nil)
let rect = self.detailText.layoutManager.lineFragmentRect(forGlyphAt: NSMaxRange(glyRange), effectiveRange: nil)
self.detailText.scrollRectToVisible(rect, animated: false)
}, completion: nil)