1

在 iOS 开发中,是否可以NSString从函数中使用和返回它?

例如

(NSString * ) foo {
  return @"";

} 

这不是一个客观的c方法,只是函数

4

4 回答 4

4

是的,因为objective-c 对象只是指针,您可以创建一个C 函数来返回一个:

NS_RETURNS_RETAINED NSString *myFunction() {
    return [[NSString alloc] init];
}

注意使用NS_RETURNS_RETAINED. 这是对 ARC 和静态分析器的提示,该函数将保留值返回给接收者,并且释放它是他们的责任。

如果您要返回一个自动释放的值,请尝试使用NS_RETURNS_NOT_RETAINED

于 2012-08-30T11:55:45.983 回答
1

是的,但语法不同:

NSString *foo()
{
    return @"bar";
}
于 2012-08-30T11:53:36.353 回答
1
NSString *foo()
{
    const char* yourString = "bar";
    NSString* yourNSString = [NSString stringWithFormat:@"%s", yourString];

    return yourNSString;
}
于 2012-08-30T11:56:05.250 回答
0

是的,为什么不?检查NSStringFromRect()和类似的参考。

于 2012-08-30T11:53:38.857 回答