Objective-C 个自定义 UIActivityType 版本

Objective-C version of a custom UIActivityType

在swift中,这很简单。例如,如果我想添加自定义 Pinterest UIActivityType:

extension UIActivityType {
    static let postToPinterest = UIActivityType(rawValue: "pinterest.ShareExtension")
}

这就是我要做的。但是,我对如何在 objective-c 中执行此操作感到有点困惑。我在想这样的事情,但我不太确定。

static UIActivityType UIActivityTypePostToPinterest = @"myApp.pinterest.ShareExtension";

如有任何帮助,我们将不胜感激。

在Objective C中,UIActivityType只是NSString的别称,所以可以这样声明:

// in header file
FOUNDATION_EXPORT static NSString * const UIActivityTypePostToPinterest;

// in implementation file
FOUNDATION_EXPORT static NSString * const UIActivityTypePostToPinterest = @"myApp.pinterest.ShareExtension";

虽然,由于 Objective C 没有命名空间,您应该使用自己的前缀(例如 JNCActivityTypePostToPinterest 而不是 UI,这是由 Apple 保留的)。