4

我需要从函数返回一个 NSString:

NSString myfunc ( int x )
{
    // do something with x  
    NSString* myString = [NSString string];
    myString = @"MYDATA";   
    // NSLog(myString);

    return *myString;       
}

所以,我调用这个函数并得到 *myString。那是指向数据的指针吗?如何获取数据“MYDATA”?

4

1 回答 1

13

我会用以下方式重写这个函数:

NSString* myfunc( int x )
{
   NSString *myString = @"MYDATA";

   // do something with myString
   return myString;        
}

在 Objective-C 中,更常见的是使用指向对象的指针,而不是对象本身,即在您的示例中使用NSString*, not NSString

而且,@"MYDATA"已经是一个字符串,所以你不需要在赋值之前分配和初始化myString。

于 2009-03-02T12:58:30.133 回答