如何在 Objective-C 中将对象类型转换为另一个类

Posted

技术标签:

【中文标题】如何在 Objective-C 中将对象类型转换为另一个类【英文标题】:How to typecast Object to another Class in Objective-C 【发布时间】:2017-11-10 06:28:48 【问题描述】:

我想进行类型转换或更改对象类型。

这里dictNSDictionary

NSLog(@"%@", dict);

我得到这个输出:它的类型:NSObject


 data1 =     (
                
            lang = en;
            value = "ABC";
            ,
            
            lang = en;
            value = "ABC";
            
        );


但我希望括号内应该是这样的( )

它的类型:NSDictionary

(
    
     data1 =     (
                    
                lang = en;
                value = "ABC";
                ,
                
                lang = es;
                value = "XYZ";
                
            );

    
)

请帮帮我,我是新手。

【问题讨论】:

这里,()表示数组。所以只需将你的字典添加到数组中。 这不是类型转换。仅供参考。 【参考方案1】:

尝试使用此代码将您的字典添加到数组中

NSDictionary *data1 =  @@"data1":@[@@"lang":@"en",@"value":@"ABC",@@"lang":@"en",@"value":@"ABC"];

NSArray *arr = [NSArray arrayWithObject:data1];
NSLog(@"%@",arr);

【讨论】:

【参考方案2】:

试试这个:

    NSArray *arr = [NSArray arrayWithObject: dict];
    NSLog(@"%@",arr);

希望能解决您的问题。 :)

【讨论】:

【参考方案3】:

创建一个数组。将字典放入数组并打印出来。你会得到你想要的输出。

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:dict, nil];
NSLog(@"%@",array);

【讨论】:

【参考方案4】:

你也可以这样做

NSArray *array = @[@@"name":@"abc",@"class":@"efg",];
NSLog(@"array - %@",array);

【讨论】:

【参考方案5】:
NSArray *arrayOfDictionary = [NSArray arrayWithObject:dict];
NSLog(@"%@",arrayOfDictionary);

这会起作用。

【讨论】:

@SucharuHasija 我没听懂你

以上是关于如何在 Objective-C 中将对象类型转换为另一个类的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective-C 中将字符串转换为整数? [复制]

如何在 Objective-C 中将 int 转换为字节?

如何在 Cython 中将 Python 对象转换为 C++ 类型

如何在 vc 6.0 中将对象转换或分配为 Variant 类型

如何在 C# 中将对象数组向上转换为另一种类型的对象数组?

在python中将对象数据类型转换为字符串问题