Подтвердить что ты не робот

CMutablePointer - как получить к нему доступ?

Может ли кто-нибудь объяснить, как получить доступ к CMutablePointer<CGPoint>, представленному ниже? Я не могу найти синтаксис для него. Раньше он был -> в Objective-C, но здесь ни одно из моих решений не работает. Решение, представленное в этой ссылке, работает в обратном порядке, мне нужно выяснить.

func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: CMutablePointer<CGPoint>) {
    let newPage = targetContentOffset->x + 1;
 }
4b9b3361

Ответ 1

Так как Swift beta 5, scrollViewWillEndDragging(_:withVelocity:targetContentOffset:) взял в качестве последнего аргумента экземпляр UnsafeMutablePointer. Когда этот метод вызывается по вашему прокрутку, ваша реализация может получить доступ к базовой точке графического ядра с помощью свойства указателя pointee.

Обратите внимание, что написание pointee раньше memory перед Swift 3.

Ответ 2

Как упоминалось в его обновлении @Eric, делегат scrollViewWillEndDragging теперь принимает UnsafePointer. Чтобы обновить указатель Unsafe, вам просто нужно получить доступ к свойству памяти.

func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafePointer<CGPoint>) {
    targetContentOffset.memory.y = x + 1
}

* Протестировано и работает с Swift Beta 4.

ОБНОВЛЕНО ДЛЯ БЕТА 5
Swift Beta 5 приглашает прокрутить список делегатов, используя UnsafeMutablePointer вместо UnSafePointer

func scrollViewWillEndDragging(scrollView: UIScrollView!, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    targetContentOffset.memory.y = x+ 1
}

Ответ 3

SWIFT 3

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    var scrollOffset = targetContentOffset.pointee
}

Ответ 4

Это работало для меня на Xcode 6.3

func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    var scrollOffset = targetContentOffset.memory.y
    println(scrollOffset)
}