Ios 无法调用';发送一次';具有类型为的参数列表

Ios 无法调用';发送一次';具有类型为的参数列表,ios,swift,grand-central-dispatch,Ios,Swift,Grand Central Dispatch,我试过使用dispatch_一次,但我遇到了这种错误 首先,您不能以这种方式使用onceToken。正如我在评论中所写,请阅读 Swift编译器错误/警告有时具有误导性。他们正在改进,但是。。。当这种错误发生,并且我在代码中没有发现问题时,我将在闭包末尾添加simplereturn(以匹配闭包类型签名)。像这样 dispatch_once(&onceToken, { () -> Void in self.myCollectionView.scrollToItemAtIndex

我试过使用dispatch_一次,但我遇到了这种错误


首先,您不能以这种方式使用
onceToken
。正如我在评论中所写,请阅读

Swift编译器错误/警告有时具有误导性。他们正在改进,但是。。。当这种错误发生,并且我在代码中没有发现问题时,我将在闭包末尾添加simple
return
(以匹配闭包类型签名)。像这样

dispatch_once(&onceToken, { () -> Void in
  self.myCollectionView.scrollToItemAtIndexPath(NSIndexPath.indexAtPosition(1),
  atScrollPosition: UICollectionViewScrollPosition.Left, animated: false)
  return
})
。。。这使编译器更快乐,现在您看到了真正的问题

Cannot invoke 'indexAtPosition' with an argument list of type '(Int)'
。。。这是因为您在
nsindepath
class上调用的方法不是class方法。您必须在那里传递
nsindepath
对象

如果要滚动到第一个项目,必须按以下方式调用:

dispatch_once(&onceToken) {
  let indexPath = NSIndexPath(forRow: 0, inSection: 0)
  self.myCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Left, animated: false)
}

首先,您不能以这种方式使用
onceToken
。正如我在评论中所写,请阅读

Swift编译器错误/警告有时具有误导性。他们正在改进,但是。。。当这种错误发生,并且我在代码中没有发现问题时,我将在闭包末尾添加simple
return
(以匹配闭包类型签名)。像这样

dispatch_once(&onceToken, { () -> Void in
  self.myCollectionView.scrollToItemAtIndexPath(NSIndexPath.indexAtPosition(1),
  atScrollPosition: UICollectionViewScrollPosition.Left, animated: false)
  return
})
。。。这使编译器更快乐,现在您看到了真正的问题

Cannot invoke 'indexAtPosition' with an argument list of type '(Int)'
。。。这是因为您在
nsindepath
class上调用的方法不是class方法。您必须在那里传递
nsindepath
对象

如果要滚动到第一个项目,必须按以下方式调用:

dispatch_once(&onceToken) {
  let indexPath = NSIndexPath(forRow: 0, inSection: 0)
  self.myCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Left, animated: false)
}

首先,您不能以这种方式使用
onceToken
。正如我在评论中所写,请阅读

Swift编译器错误/警告有时具有误导性。他们正在改进,但是。。。当这种错误发生,并且我在代码中没有发现问题时,我将在闭包末尾添加simple
return
(以匹配闭包类型签名)。像这样

dispatch_once(&onceToken, { () -> Void in
  self.myCollectionView.scrollToItemAtIndexPath(NSIndexPath.indexAtPosition(1),
  atScrollPosition: UICollectionViewScrollPosition.Left, animated: false)
  return
})
。。。这使编译器更快乐,现在您看到了真正的问题

Cannot invoke 'indexAtPosition' with an argument list of type '(Int)'
。。。这是因为您在
nsindepath
class上调用的方法不是class方法。您必须在那里传递
nsindepath
对象

如果要滚动到第一个项目,必须按以下方式调用:

dispatch_once(&onceToken) {
  let indexPath = NSIndexPath(forRow: 0, inSection: 0)
  self.myCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Left, animated: false)
}

首先,您不能以这种方式使用
onceToken
。正如我在评论中所写,请阅读

Swift编译器错误/警告有时具有误导性。他们正在改进,但是。。。当这种错误发生,并且我在代码中没有发现问题时,我将在闭包末尾添加simple
return
(以匹配闭包类型签名)。像这样

dispatch_once(&onceToken, { () -> Void in
  self.myCollectionView.scrollToItemAtIndexPath(NSIndexPath.indexAtPosition(1),
  atScrollPosition: UICollectionViewScrollPosition.Left, animated: false)
  return
})
。。。这使编译器更快乐,现在您看到了真正的问题

Cannot invoke 'indexAtPosition' with an argument list of type '(Int)'
。。。这是因为您在
nsindepath
class上调用的方法不是class方法。您必须在那里传递
nsindepath
对象

如果要滚动到第一个项目,必须按以下方式调用:

dispatch_once(&onceToken) {
  let indexPath = NSIndexPath(forRow: 0, inSection: 0)
  self.myCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Left, animated: false)
}

请复制/粘贴您的真实代码,而不是屏幕截图。请阅读my以了解如何使用它。@robertvojta:
var onceToken:dispatch\u once\u t=0 dispatch\u once(&onceToken),{//self.myCollectionView.scrollToItemAtIndexPath(nsIndexath.IndexAtScrollPosition:UICollectionViewScrollPosition.Left,动画:false)}
每当我取消注释注释注释行时,它都是错误的。有趣的是,只有当我删除
&
(Xcode 7 beta 4)时,我才会收到此错误消息。@DevAndArtist:对我来说总是错误的!请复制/粘贴您的真实代码,而不是屏幕截图。请阅读my以了解如何使用它。@robertvojta:
var onceToken:dispatch\u once\u t=0 dispatch\u once(&onceToken),{//self.myCollectionView.scrollToItemAtIndexPath(nsIndexath.IndexAtScrollPosition:UICollectionViewScrollPosition.Left,动画:false)}
每当我取消注释注释注释行时,它都是错误的。有趣的是,只有当我删除
&
(Xcode 7 beta 4)时,我才会收到此错误消息。@DevAndArtist:对我来说总是错误的!请复制/粘贴您的真实代码,而不是屏幕截图。请阅读my以了解如何使用它。@robertvojta:
var onceToken:dispatch\u once\u t=0 dispatch\u once(&onceToken),{//self.myCollectionView.scrollToItemAtIndexPath(nsIndexath.IndexAtScrollPosition:UICollectionViewScrollPosition.Left,动画:false)}
每当我取消注释注释注释行时,它都是错误的。有趣的是,只有当我删除
&
(Xcode 7 beta 4)时,我才会收到此错误消息。@DevAndArtist:对我来说总是错误的!请复制/粘贴您的真实代码,而不是屏幕截图。请阅读my以了解如何使用它。@robertvojta:
var onceToken:dispatch\u once\u t=0 dispatch\u once(&onceToken),{//self.myCollectionView.scrollToItemAtIndexPath(nsIndexath.IndexAtScrollPosition:UICollectionViewScrollPosition.Left,动画:false)}
每当我取消注释注释注释行时,它都是错误的。有趣的是,只有当我删除
&
(Xcode 7 beta 4)时,我才会收到此错误消息。@DevAndArtist:对我来说总是错误的!