3

我有一个对象,假设是 A 类,其中存储了一个字符串。我想将它类型转换为NSString对象。基本上这就是我想要实现的目标:

NSString *temp = (NSString *)[A someMEthod];

if(temp isMemberOfClass : [NSString class]) {
    dosomething
}

有人可以告诉我如何实现这一目标吗?

4

3 回答 3

3
id temp = [A someMethod];
if([temp isKindOfClass:[NSString class]])
{
    NSString *str = (NSString *)temp;
    NSLog(@"%@", str);
}
于 2012-04-20T06:37:53.870 回答
1

如果你的字符串是 ClassA 的成员变量。

您可以在 ClassA 中创建一个返回 NSString 的方法。

像那样。

@interface ClassA :NSObject{

NSString *str;

}

-(NSString *)returnString{

return str;

}
于 2012-04-20T06:47:19.833 回答
0

如果要检查对象是否属于某个类(在运行时),请使用:

if ([myObj isKindOfClass:[NSString class]]) { ... }

您的问题并不完全明确,看来您最好的选择是使“存储在对象中的字符串”已经成为具有 NSString 类型的属性,因此您根本不必进行任何类型转换和检查。

于 2012-04-20T06:36:36.980 回答