题
我需要从函数返回一个NSString:
NSString myfunc ( int x )
{
// do something with x
NSString* myString = [NSString string];
myString = @"MYDATA";
// NSLog(myString);
return *myString;
}
所以,我调用这个函数并得到* myString。那是指向数据的指针吗?我怎样才能获得数据“MYDATA”?
解决方案
我会按以下方式重写此函数:
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
// do something with myString
return myString;
}
在Objective-C中,更常见的是使用指向对象的指针,而不是对象本身,即在您的示例中使用 NSString *
,而不是 NSString
。
此外, @" MYDATA"
已经是一个字符串,因此您无需在分配之前分配和初始化myString。
不隶属于 StackOverflow