小编vac*_*ama的帖子

如何在Swift中使用NSTimer?

我试过了

var timer = NSTimer()
timer(timeInterval: 0.01, target: self, selector: update, userInfo: nil, repeats: false)
Run Code Online (Sandbox Code Playgroud)

但是,我说错了

'(timeInterval: $T1, target: ViewController, selector: () -> (), userInfo: NilType, repeats: Bool) -> $T6' is not identical to 'NSTimer'
Run Code Online (Sandbox Code Playgroud)

nstimer nstimeinterval ios swift

246
推荐指数
11
解决办法
30万
查看次数

Swift:如何将String转换为UInt8数组?

如何将String转换为UInt8数组?

var str = "test"
var ar : [UInt8]
ar = str
Run Code Online (Sandbox Code Playgroud)

swift

40
推荐指数
2
解决办法
3万
查看次数

通过navigationController通过segue传递数据

我正在尝试将数据从一个viewController推送到另一个.我已将viewController连接到另一个ViewController的navigationController,然后将标识符设置为"showItemSegue".我在这两行中出错:

var detailController = segue.destinationViewController as ShowItemViewController
detailController.currentId = nextId!
Run Code Online (Sandbox Code Playgroud)

图示:

在此输入图像描述

代码:

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {


    nextId = itemArray?.objectAtIndex(indexPath.row).objectForKey("objectId") as? NSString

    self.performSegueWithIdentifier("showItemSegue", sender: self)

}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {

    if (segue.identifier == "showItemSegue") {
        var detailController = segue.destinationViewController as ShowItemViewController
        detailController.currentId = nextId!
    }

}
Run Code Online (Sandbox Code Playgroud)

storyboard ios segue swift

35
推荐指数
1
解决办法
1万
查看次数

有没有办法在Swift中立即生成一个充满一系列值的数组?

例如,在python中,我可以说出类似的内容

arr = range(0,30) 
Run Code Online (Sandbox Code Playgroud)

并获得具有所述元素的数组.我怀疑Swift中的下标可能有类似的东西,但在搜索文档和Apple的iBook后,我找不到用于生成所述阵列的"电池包含"解决方案.

这是我必须手动编写代码的东西,还是有预先编写的方法呢?

arrays range swift

30
推荐指数
4
解决办法
1万
查看次数

使用前导点表示法调用Swift类工厂方法?

在最近的一个问题中,海报上有这个有趣的代码:

self.view.backgroundColor = .whiteColor()
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到这一点.我只见过用于枚举值的前导点符号.在这种情况下,backgroundColor是类型UIColor?并且whiteColor是一个UIColor返回a 的类方法UIColor.

为什么这样做?这是调用工厂方法的合法方式吗?

swift

29
推荐指数
3
解决办法
7717
查看次数

如何将字典转换为数组

我想通过将每个[String : Int]字典显示为数组中的字符串,将我的字典转换为数组.

例如:     

var myDict: [String : Int] = ["attack" : 1, "defend" : 5, "block" : 12]
Run Code Online (Sandbox Code Playgroud)

     我知道myDict.keys.array并且myDict.values.array,但我希望它们一起出现在阵列中.这就是我的意思:     

var myDictConvertedToArray = ["attack 1", "defend 5", "block 12"]
Run Code Online (Sandbox Code Playgroud)

提前致谢.

arrays dictionary ios swift

28
推荐指数
4
解决办法
4万
查看次数

如何创建可以从以编程方式创建的按钮调用的segue?

在Swift中,我有一个使用programmaticaly创建的按钮:

var button = UIBarButtonItem(title: "Tableau", style: .Plain, target: self, action: "tabBarTableauClicked")
Run Code Online (Sandbox Code Playgroud)

我希望当用户单击该按钮时,它会更改viewControllers.这是以下代码tabBarTableauClicked:

func tabBarTableauClicked(){
    performSegueWithIdentifier("tableau", sender: self)
}
Run Code Online (Sandbox Code Playgroud)

但它显然不起作用,因为没有带有名为"tableau"的标识符的segue.

我无法使用Ctrl +单击按钮创建一个segue并拖动到第二个viewController,因为按钮是以编程方式创建的,而不是在Storyboard中创建的.

如何在Swift中以编程方式创建带有标识符的segue?

uistoryboard segue uistoryboardsegue swift

23
推荐指数
1
解决办法
3万
查看次数

在Xcode 8中将Swift数组转换为CFArray(Swift 3)

这在Xcode 8 beta 6中不再有效:

let colors:CFArray = [fromColor.cgColor, toColor.cgColor]
Run Code Online (Sandbox Code Playgroud)

要么

let gradient:CGGradient = CGGradient(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors:[fromColor.cgColor, toColor.cgColor], locations:[0.0, 1.0])!
Run Code Online (Sandbox Code Playgroud)

错误是:上下文类型'CFArray'不能与数组文字一起使用

从数组转换为CFArray的最新方法是什么?

swift swift3

17
推荐指数
1
解决办法
6133
查看次数

为什么以及何时在Swift中使用lazy与Array?

[1, 2, 3, -1, -2].filter({ $0 > 0 }).count // => 3

[1, 2, 3, -1, -2].lazy.filter({ $0 > 0 }).count // => 3
Run Code Online (Sandbox Code Playgroud)

添加lazy到第二个语句的优点是什么?根据我的理解,当使用lazy变量时,内存在使用时被初始化为该变量.在这种情况下它是如何有意义的?

在此输入图像描述

试图LazySequence更详细地了解其用途.我曾使用过的map,reduce并且filter功能上的序列,但从来没有对lazy序列.需要了解为何使用此功能?

arrays lazy-evaluation swift

16
推荐指数
2
解决办法
2738
查看次数

如何在Swift中更改UIBezierPath的颜色?

我有一个实例,UIBezierPath我想将笔画的颜色改为黑色以外的东西.有谁知道如何在Swift中这样做?

ios uibezierpath swift

15
推荐指数
1
解决办法
2万
查看次数