Iow*_*a15 3 generics objective-c nsdictionary nsarray
对于NSArray,Objective-C 允许我们指定要存储在数组中的值的类型。例如,我可以声明一个 的数组,NSString如下所示:
NSArray<NSString*> *arrayOfStrings;
Run Code Online (Sandbox Code Playgroud)
虽然编译器和运行时环境不一定强制执行,但这样的指示对于可读性和稍微简单的代码语法来说都很方便。
我想知道是否存在这样的语法NSDictionary。例如,要指定字典中的值类型,是否存在类似以下内容:
NSDictionary<UIImage*> *imageMappings;
Run Code Online (Sandbox Code Playgroud)
其中字典的值被指定为类型UIImage。
附加问题:
可以指定密钥类型吗NSDictionary?
如果可能,如何在没有键类型的情况下指定值类型?
是否有其他常见的数据结构Foundation具有这种通用参数化?
对于NSDictionary,您可以指定键和值的类型:
NSDictionary<NSString*, UIImage*> *imageMappings
Run Code Online (Sandbox Code Playgroud)
如果您不想要密钥的特定类型,请使用id<NSCopying>甚至NSObject *.
仅NSArray和NSDictionary支持这种表示法。
| 归档时间: |
|
| 查看次数: |
4860 次 |
| 最近记录: |