我在 Objective-C/Cocoa 工作,我有一个 object type Tile。每个都有一个可以表示为 4 个不同整数值的签名。如果我将这些值作为字符串输出,用-es 分隔这些值,它看起来像这个例子:
signature: 4-4-3-3
signature: 4-3-3-3
signature: 0-0-0-1
signature: 0-0-1-1
signature: 0-0-1-0
signature: 1-1-1-2
signature: 1-1-2-2
signature: 1-1-2-1
signature: 3-3-3-1
signature: 3-3-1-1
signature: 3-3-1-3
signature: 4-4-4-3
signature: 4-4-3-3
我目前将每个值存储为unsigned short. 永远不会有负值,最大值不太可能超过 15 左右。零是有效值。没有“零”值。
我希望能够致电:
[myTile signature]检索值。
[myTile matches:otherTile]返回一个BOOL指示签名是否匹配的。
存储此“签名”并将其与其他Tile实例的签名进行比较的最有效方法是什么?似乎字符串比较会很慢......