And*_*win 1 objective-c ios watchkit
参数类型是(NSDictionary<NSString *,id> * __nonnull),它表示参数应该是字典,永远不能为空.那<NSString *, id>意味着什么?是'NSString*'和'id'协议名称?这是否意味着字典必须是json?但NSString总是对象.有人帮吗?
它是Objective C轻量级泛型的语法.此功能主要用于修复Objective C - Swift互操作性问题.
NSDictionary<NSString *,id>意味着,字典键应该是类型NSString,它的值可以是任何类型的对象(id).
例如: 如果要声明仅包含NSString值的字典,可以将其声明为:
NSDictionary<NSString *,NSString *> *stringDictionary;
Run Code Online (Sandbox Code Playgroud)
但是在Objective C中,您可以为此字典设置任意类型的值,不会有任何错误.但是如果你在stringDictionaryswift类中使用相同的对象,你只能为这个字典设置一个字符串值,否则会抛出一个错误.
请查看此文章以获取更多详细信息.
| 归档时间: |
|
| 查看次数: |
3155 次 |
| 最近记录: |