【发布时间】:2015-07-06 05:54:17
【问题描述】:
我有一个自定义对象
class Keyword
{
var keyword : String
var description : String
init(keywordID : Int, keyword : String, description : String)
{
self.keyword = keyword;
self.description = description;
}
}
它的数据就像
var keywords = [Keyword]()
keywords.append(Keyword(keyword: "abc", description: "dsd dfgdf dghj"))
keywords.append(Keyword(keyword: "adet", description: "dsd dfgdf dghj"))
keywords.append(Keyword(keyword: "niuk", description: "dsd dfgdf dghj"))
keywords.append(Keyword(keyword: "sdg", description: "dsd dfgdf dghj"))
keywords.append(Keyword(keyword: "sax", description: "dsd dfgdf dghj"))
keywords.append(Keyword(keyword: "trygh", description: "dsd dfgdf dghj"))
为了在 UITableView 中创建部分,我需要将第一个字母作为部分标题。对于上面的例子,我需要如下数据
- a -> abc, adet
- n -> 牛
- s -> sdg, 萨克斯
- t -> 尝试
我创建了另一个对象来存储上述数据
class KeywordSection
{
var section : Character
var keywords : [Keyword]
init(section : Character, keywords : [Keyword])
{
self.section = section;
self.keywords = keywords;
}
}
我在 Android 中通过循环遍历数组并提取第一个字母并检查各个部分来做到这一点。另外我需要检查第一个字母是否是字母,如果是我必须添加该部分,否则该部分将是“#”(与 iphone 联系人应用程序相同)
【问题讨论】:
-
您可以在使用 Bridge 的 swift 项目中使用 Objective c 方法吗?
-
@PavanJangid 对不起,我只能使用 swift 方法,或者我需要编写自定义方法
-
您可以从此链接获得参考,并且您必须将代码从目标 c 转换为 swift:stackoverflow.com/questions/24342542/… 请参阅上面链接中的最后一个答案
-
这是您问题的 Swift 代码。 nshipster.com/uilocalizedindexedcollation
-
@Sajeel,我在四天前回答了同样的问题。但这是客观的 - c。我认为您将目标转换为 swift 并不难。这是链接。 stackoverflow.com/questions/31201038/…
标签: ios swift uitableview