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