首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用在情节提要中定义的自定义类

使用在情节提要中定义的自定义类
EN

Stack Overflow用户
提问于 2019-06-02 16:58:25
回答 4查看 129关注 0票数 1

在Xcode中,我可以在标识符检查器中定义一个自定义类,但是如何使用它们呢?下面是示例:

代码语言:javascript
运行
复制
class c1 : UITableViewCell {

  func celltest() {
        let i = 99;
    }
}

class NicePlaceTableViewController: UITableViewController {
.
.
.
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell1", for: indexPath)
        **cell.celltest()** .. has no member celltest
        let place = places[indexPath.row]
        cell.textLabel?.text = place.name
        cell.detailTextLabel?.text = "\(place.timestamp)"
        return cell
    }

如果reuseIdentifier是已知的,但不知道它的自定义类--在本例中是" c1“--我如何才能在不违反Xcode编译检查的情况下访问类c1中定义的方法?

EN

回答 4

Stack Overflow用户

发布于 2019-06-02 17:03:07

您只需将其强制转换为c1即可

代码语言:javascript
运行
复制
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell1", for: indexPath) as! c1
cell.celltest()

顺便说一句,c1不是一个好的类名。

票数 1
EN

Stack Overflow用户

发布于 2019-06-02 17:12:08

您只需要将该单元格类型转换为c1的对象。您可以通过在cellForRowAt方法中编写以下代码来完成此操作:

代码语言:javascript
运行
复制
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell1", for: indexPath) as! c1

因此,编译器将知道您的自定义表视图单元格类的类型,并且cell.celltest()不会给您一个错误。

swift样式指南的另一个参考,它可以在类名和方法名方面对你有很大帮助:

https://github.com/raywenderlich/swift-style-guide

票数 1
EN

Stack Overflow用户

发布于 2019-06-02 17:26:43

我不知道类名"c1“。有没有动态获取它的方法?我不明白为什么通过单元格的reuseIdentifier "cell1“查询单元格,并且xcode不知道应该指定单元格的类是什么?(c1)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56413602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档