Objective-C NSString 问题 [英] Objective-C NSString Question
本文介绍了Objective-C NSString 问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要从函数返回一个 NSString:
NSString myfunc ( int x ){//对 x 做一些事情NSString* myString = [NSString 字符串];myString = @"MYDATA";//NSLog(myString);返回 *myString;}
所以,我调用这个函数并得到 *myString.那是指向数据的指针吗?如何获取数据MYDATA"?
解决方案
我会用下面的方式重写这个函数:
NSString* myfunc( int x ){NSString *myString = @"MYDATA";//用 myString 做一些事情返回我的字符串;}
在 Objective-C 中,更常见的是使用指向对象的指针,而不是对象本身,即在您的示例中使用 NSString*
,而不是 NSString
.>
而且,@"MYDATA"
已经是一个字符串,所以不需要在赋值前分配和初始化 myString.
I need to return a NSString from a function:
NSString myfunc ( int x )
{
// do something with x
NSString* myString = [NSString string];
myString = @"MYDATA";
// NSLog(myString);
return *myString;
}
So, I call this function and get *myString. Is that a pointer to the data? How can I get to the data "MYDATA"?
解决方案
I would rewrite this function the following way:
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
// do something with myString
return myString;
}
In Objective-C it is more common to work with pointer to objects, not objects themselves, i.e., in your example with NSString*
, not NSString
.
Moreover, @"MYDATA"
is already a string, so you don't need to allocate and initialize myString before the assignment.
这篇关于Objective-C NSString 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文