在VC1(集合视图)中,这是我的prepareforsegue代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let segue = segue.destinationViewController as TabBarViewController
var selectedIndex = self.collectionView.indexPathForCell(sender as UICollectionViewCell)
segue.selectedIndexPassing = selectedIndex?.row
}
Run Code Online (Sandbox Code Playgroud)
当我到达VC2(这是TabBarViewController)时,我printInn()selectedIndexPassing以查看返回的内容.它正确返回.然后,在VC2中,我将此prepareforsegue称为实际视图控制器,或标签栏中的第一个按钮:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var segue = segue.destinationViewController as PlayerFromRosterViewController
segue.selectedIndexPassingForDisplay = 1
}
Run Code Online (Sandbox Code Playgroud)
但是,当我selectedIndexPassingForDisplay在VC3(PlayerFromRosterViewController)中println()时,我得到了nil.为什么变量没有从Tab Bar导航控制器传递到VC3,AKA是第一个标签栏按钮视图.
我有一段解析代码,用于检查用户是否已登录:
PFUser.logInWithUsernameInBackground("myname", password:"mypass") {
(user: PFUser!, error: NSError!) -> Void in
if user != nil {
// Do stuff after successful login.
} else {
// The login failed. Check error to see why.
}
}
Run Code Online (Sandbox Code Playgroud)
成功登录后,我想将用户发送到新的segue.我无法在故事板中执行此操作,因为我只希望在满足条件时发生segue.无论如何以编程方式创建segue?
我有一个数组,我想迭代该数组中的所有元素,并将所有整数加在一起.这是我到目前为止的功能:
func addTogether(array:Array<Int>, divide:Int) -> Int
{
var a = 0
while a < array.count
{
}
return 0
}
Run Code Online (Sandbox Code Playgroud)
我知道我可能不得不在while循环中执行此操作.谁能给我一些关于从哪里去的指导?谢谢!