objective-c - 下面的类函数试图实现什么目的?

标签 objective-c swift class

我正在尝试将以下开源 Objective C 代码转换为 swift,但我很难理解此类函数想要实现的目标。我知道它是一个类方法,我在底部添加了我重写的内容。

+ (instancetype)eventWithTitle:(NSString *)title day:(NSUInteger)day startHour:(NSUInteger)startHour durationInHours:(NSUInteger)durationInHours
{
    return [[self alloc] initWithTitle:title day:day startHour:startHour durationInHours:durationInHours];
}

如果有帮助的话,这是它引用的方法。

- (instancetype)initWithTitle:(NSString *)title day:(NSUInteger)day startHour:(NSUInteger)startHour durationInHours:(NSUInteger)durationInHours
{
    self = [super init];
    if (self != nil) {
        _title = [title copy];
        _day = day;
        _startHour = startHour;
        _durationInHours = durationInHours;
    }
    return self;
}

Swift 版本

    class func eventWithTitle(title: String, day: UInt32, startHour: UInt32, durationInHours: UInt32) {

        self.init(title: title, day: day, startHour: startHour, durationInHours: durationInHours)
    }

    init(title: String, day: UInt32, startHour: UInt32, durationInHours: UInt32) {

        self.title = title
        self.day = day
        self.startHour = startHour
        self.durationInHours = durationInHours

    }

运行此代码时出现的错误如下:

Result of initializer is unused.

最佳答案

来自文档:

Class Factory Methods and Convenience Initializers

For consistency and simplicity, Objective-C class factory methods are imported as convenience initializers in Swift. This allows them to be used with the same syntax as initializers.

这意味着,只有方便的初始化器,工厂方法被删除。

init(title : String, day : Int, startHour : Int, durationInHours : Int)

关于objective-c - 下面的类函数试图实现什么目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34685192/

相关文章:

Java 和同步问题

c# - 抽象类中没有公共(public)成员

objective-c - 按下 uitextfield 时键盘不出现

objective-c - 带有 ScrollView 的 iPad Split View 显示横向 View 的下半部分

ios - iMessageExt 应用启动应用时出错

swift - RxSwift 使用数据收集

ios - 当某些键动态更改时如何从字典中获取值

ios - 在弹出另一个 WatchKit Controller 后立即推送一个新的 WatchKit Controller 总是失败

ios - 表达式太复杂而无法在 Xcode 9 中解决问题?

c++ - 使用指向基类的指针作为数组参数