我需要从函数返回一个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.