Objective-C NSString问题

4

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

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

    return *myString;       
}

所以,我调用了这个函数并得到了* myString。那是指向数据的指针吗?我怎样才能访问到数据“MYDATA”?

1个回答

13

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

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

   // do something with myString
   return myString;        
}

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接