Tag: swift2.2

viewForHeaderInSection宽度不正确

我的headerView的宽度不适应屏幕的宽度。 我的viewForHeaderInSection函数: func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let cell = self.tableView.dequeueReusableCellWithIdentifier("sectionCell") as! sectionCell cell.hint.text = "some name" cell.tag = section let singleTap = UITapGestureRecognizer(target: self, action: #selector(singleTapOnSection(_:))) cell.addGestureRecognizer(singleTap) let view = UIView(frame: cell.frame) view.addConstraints(cell.constraints) view.addSubview(cell) return view } 我必须将单元格添加到UIView(或类似的东西),因为我有部分隐藏的行。 在我看来,我必须增加“查看”一些约束编程,但我不知道如何

如何从NSAttributedstring中分离属性并将这些属性应用于其他string?

例如。 就像我们有一个NSAttributedstring一样,我们需要将string和属性分开,然后在其他长度相同的string上使用这些属性。

在for语句中使用String.CharacterView.Index.successor()

将来, C语言的语句将从Swift中删除 。 虽然有很多替代方法可以使用C语言,比如使用stride或..<运算符,但这些运算符只能在某些条件下使用 例如,在旧版本的swift中,可以循环使用C风格的string中的每一个索引String.CharacterView.Index , for var index = string.startIndex; index < string.endIndex; index = string.successor().successor(){ //code } 然而这已经被弃用了。 有一种方法可以做同样的事情,使用while循环 var index = string.startIndex while index < string.endIndex{ //code index = index.successor().successor() } 但它不是一个解决方法。 有一个..<运算符,这对于循环每个string的索引来说是完美的 for index in string.startIndex..<string.endIndex 然而,这并不能帮助循环遍历string的每一个索引,或者每个string的第n个索引 除了while循环之外,是否还有更多的“swifty”方式循环其他string的其他索引? 这个问题不仅适用于string索引,而且只适用于具有诸如.successor()函数的对象,其中stride和..<不起作用。

我怎样才能在Swift中获取值types或自定义结构的内存地址?

我试图深入了解Swift如何复制值types : 您在代码中看到的行为将始终像发生副本一样。 但是,当绝对必要的时候,Sw​​ift只能在幕后执行一个实际的副本。 为了提高我的理解,我想获得一个值types的内存地址。 我尝试unsafeAddressOf(),但这不适用于结构,它似乎将Swift的标准库types转换为引用types (例如,string转换为NSString)。 我怎样才能得到一个值types的内存地址,像一个Int的实例,或在Swift中的自定义结构?

#warning:C语言的陈述已被弃用,并将在未来版本的Swift中删除

我只是用swift 2.2下载一个新的Xcode(7.3)。 它有一个警告: C语言的陈述已被弃用,并将在未来版本的Swift中被删除。 我怎样才能解决这个警告?