首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSString的id类型

NSString的id类型
EN

Stack Overflow用户
提问于 2010-09-28 01:57:46
回答 6查看 43.3K关注 0票数 18

有什么方法可以将id类型更改为NSString对象吗?请注意我的代码的以下行。

代码语言:javascript
运行
复制
NSString *value = [appDelegate.bird_arr objectAtIndex:rowClicked] ;

在这个基于导航的程序中,appDelegate是我的AppDelegate类的对象,bird_arr是NSMutableArray的对象。我想使用被点击的行中写的字符串。但是objectAtIndex:返回id类型。我们有没有办法把这个id类型改为NSString,或者其他任何我可以用来收集特定行中字符串的方法?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-28 01:58:46

是的,就是这样

代码语言:javascript
运行
复制
NSString *value = (NSString *)[appDelegate.bird_arr objectAtIndex:rowClicked];

如果您想仔细检查它是否真的是NSString,请使用

代码语言:javascript
运行
复制
[someId isKindOfClass:[NSString class]]
票数 28
EN

Stack Overflow用户

发布于 2010-09-28 01:59:20

id可以是任何对象的指针,它将被自动提升为任何对象指针类型(有点像C中的void * )。您在那里显示的代码看起来是正确的。不需要显式强制转换,但如果您真的想添加一个,也可以添加一个。

如果您从数组中得到的对象实际上不是NSString,那么您将不得不做一些其他的工作来获得您想要的对象。

票数 5
EN

Stack Overflow用户

发布于 2010-09-28 02:01:09

"id类型“只是告诉我们返回值是一个对象--仅此而已。它可能已经是一个NSString对象,也可能是其他对象。如果这个数组中的所有对象都是字符串,那么您的工作就完成了。如果它们是其他的东西,你需要一些方法将其他东西放入字符串中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3806474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档