首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这将如何从Obj转换为Swift?

这将如何从Obj转换为Swift?
EN

Stack Overflow用户
提问于 2015-07-01 15:44:57
回答 2查看 79关注 0票数 1

我正在尝试重新编写一个应用程序,它目前在Objective中。我如何将这一行改为Swift,因为我目前的尝试不正确

代码语言:javascript
复制
Tabata *tabata = [notification object];

以下是整个功能:

代码语言:javascript
复制
- (void)stateChanged:(NSNotification*)notification
{
if (enabled)
{
    Tabata *tabata = [notification object];
    switch (tabata.getState) {
        case EXERCISE:
        case RELAXATION:
            [player play];
            break;

        default:
            break;
    }
}
}

以下是我转化为Swift的内容:

代码语言:javascript
复制
func stateChanged(notifcation: NSNotification) {
    if enabled {

        var tabata: Tabata! = notification.object //error "Use of unresolved identifier 'notification'"
        switch tabata.getState() {
        case .EXERCISE: fallthrough
        case .RELAXATION:
            player.play()
            break

        default:
            break

        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-01 16:14:30

在Swift中,您必须向下转换AnyObject类型的对象,而不是声明类型

代码语言:javascript
复制
   var tabata = notification.object as! Tabata
票数 0
EN

Stack Overflow用户

发布于 2015-07-01 17:08:23

代码语言:javascript
复制
func stateChanged(notification: NSNotification) {
    if(enabled) {
        var tabata: Tabata = notification.object as! Tabata
        switch tabata.getState() {
        case .EXERCISE:
            fallthrough
        case .RELAXATION:
            player.play()
            break
        default:
            break
        }
    }
}

希望这能有所帮助!

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

https://stackoverflow.com/questions/31165974

复制
相关文章

相似问题

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