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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top