小编Zap*_*hod的帖子

xsl:只复制没有节点的内容

我对xsl:copy-of有一点问题,因为我只想复制节点的内容,而不是节点本身:

在XML中:

<parent>    
    <node>Hello, I'm a <b>node</b>!!!</node>
</parent>
Run Code Online (Sandbox Code Playgroud)

在XSL中:

<xsl:template match="parent">
    <tr>
        <td><xsl:copy-of select="node"/></td>
    </tr>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

结果:

<tr>
    <td><node>Hello, I'm a <b>node</b>!!!</node></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

预期结果:

<tr>
    <td>Hello, I'm a <b>node</b>!!!</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

问题是,如果我使用xsl:value-of,我放松了<b></b>!!!

xml xslt

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

UICollectionView选择不会持续

我有一个UICollectionView像工具选择容器一样使用的东西.你有很多工具(单元格),当你选择一个工具时,取消选择前一个选择,依此类推......你一次只能选择一个工具.

问题是我无法设法选择单元格.当我点击单元格时,collectionView:didSelectItemAtIndexPath:会调用它.然后我重新加载选定的单元格来改变它的外观(我改变alpha了图像)[collectionView reloadItemsAtIndexPaths:@[indexPath]].

好吧,重新加载单元格确定,除了一个该死的东西:在collectionView:cellForItemAtIndexPath:单元格中永远不会将selected属性设置为YES!所以我永远不能改变它,alpha因为我不知道什么时候我必须画一个选定的单元格.

更糟糕的[collectionView indexPathsForSelectedItems]是:永远是空的!

我甚至没有提到collectionView:didDeselectItemAtIndexPath:从未被称为......

好吧,如果有人能帮我理解发生的事情,请提前感谢...

objective-c selection ios uicollectionview uicollectionviewcell

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

如果具有关联值的枚举的case语法,则为Swift 2

我想我会遇到一些非常简单的语法,但我找不到如何解决它.

  • 首先是这里的设置,让我介绍一个带有多个相关值的漂亮枚举

    enum Entity {
        case City(data: CityData, position: NSRange)
        case Date(date: NSDate)
        case Service
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 然后,我想检查是否存在字典的领域是一个城市,如果是,则处理其数据和位置......我可以管理的唯一方法是通过一个switch!

    if let city = result["ABC"] {
        switch city {
        case .City(data:let data, position:let position): // Do something with data and position
        default: // Do nothing
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

我想知道if case语法是否有任何帮助......

但我找不到它(可能是疲倦,我希望...)

我正在寻找类似的东西:

if case result["ABC"] == .City(data:let data, position:let position) { 
    // Do something with data and position
}
Run Code Online (Sandbox Code Playgroud)

所以我肯定这很明显,但我错过了......所以,如果你能提供帮助,那就太棒了.

提前致谢.

syntax enums pattern-matching swift swift2

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

在 Swift 中可选时将 JSON 中的类型不匹配键解码为 nil 的一般策略

这是我的问题,当我收到一些 JSON 时,碰巧有些值与所需的类型不匹配。我并不介意,我只对类型正确时的值感兴趣。

例如,以下结构:

struct Foo : Decodable {
    var bar : Int?
}
Run Code Online (Sandbox Code Playgroud)

我希望它匹配这些 JSON:

{ "bar" : 42 }    => foo.bar == 42
{ "bar" : null }  => foo.bar == nil
{ "bar" : "baz" } => foo.bar == nil
Run Code Online (Sandbox Code Playgroud)

事实上,我正在寻找一个 optional Int,所以每当它是一个整数时我想要它,但是当它null或其他东西我想要时nil

不幸的是,我们的好人JSONDecoder在最后一种情况下引发了类型不匹配错误。

我知道一种手动方法:

struct Foo : Decodable {
    var bar : Int?
    
    init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        
        self.bar = try? container.decode(Int.self, forKey: …
Run Code Online (Sandbox Code Playgroud)

json type-mismatch swift jsondecoder

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