Objective c 目标c:如何按名称强制转换为类类型
我尝试这样做:Objective c 目标c:如何按名称强制转换为类类型,objective-c,Objective C,我尝试这样做: Class CustomClass = [MyClass class]; // _object is an instance variable typed with "id" CustomClass *obj = CustomClass *_object; // Error here 在Objective-C中是否可以按名称将对象强制转换为类 更新 我实际上在写一篇文章 - (id)photoFrame { if (NSClassFromString
Class CustomClass = [MyClass class];
// _object is an instance variable typed with "id"
CustomClass *obj = CustomClass *_object; // Error here
在Objective-C中是否可以按名称将对象强制转换为类
更新
我实际上在写一篇文章
- (id)photoFrame
{
if (NSClassFromString(@"CustomClass")) {
return (CustomClass1 *) _object;
} else {
return (CustomClass2 *) _object;
}
}
错误消息是
预期表达式
CustomClass*obj=(CustomClass*)\u对象 为什么??你期望发生什么?代码中哪里写着“期望表达式”?在if(NSClassFromString(@“CustomClass”)
部分中,执行返回(CustomClass1*)\u对象也没有意义代码>除非您要返回其他类型的内容(即不是类型id
),或者在返回之前实际使用CustomClass1
中的内容。我想我们大多数人都不知道这应该做什么。你不需要在id
之间转换,反正它会隐式转换。这个问题没有意义。铸造Objective-C对象不会做任何有意义的工作。虽然我写了一个小的库,但这可能有助于鼓励您正在寻找的类型检查。