objective-c - 有没有办法在 NSArray 的类别中使用 ObjectType?

标签 objective-c generics

我一直在尝试在 NSArray 上创建一个类别并查看 NSArray 的接口(interface)我假设添加一个返回 ObjectType 的方法是:

// interface
- (nullable ObjectType)giveMeAnObject;

// implementation
- (nullable ObjectType)giveMeAnObject
{
    ObjectType object = nil;
    return object;
}

但是这不起作用,我在返回类型中收到错误消息 Expected ')'

最佳答案

看来您可以在接口(interface)中使用轻量级泛型,但不能在实现中使用。

@interface NSArray<ObjectType> (MyAdditions)

- (nullable ObjectType)giveMeAnObject; // specify return type

@end


@implementation NSArray (MyAdditions)

- (id)giveMeAnObject // use id for the implementation
{
    return nil;
}

@end

您可能想要提交 enhancement request如果你也想在 @implementation block 中看到它们。

关于objective-c - 有没有办法在 NSArray 的类别中使用 ObjectType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32673975/

相关文章:

objective-c - NSDocument init 未在 Storyboard 中的 Split View Controller 的一个 Pane 中调用

objective-c - 创建多条画线

ios - 如何手动将后退按钮添加到我的 NavigationBar?

java - Java 中泛型数组最简单的替代方法是什么?

java - 与 Spring Data JPA 和泛型类型混淆

objective-c - 用魔法词作为类别前缀的惯例是什么?

objective-c - 如何在 OS X 10.6 上构建可在 10.5 上运行的应用程序和框架?

c# - 无法编译包含泛型和内部类的代码

Kotlin:按类生成工厂

generics - 使用 Rust 空类型作为通用绑定(bind)