gpt4 book ai didi

objective-c - "*__strong*"是什么意思?

转载 作者:行者123 更新时间:2023-12-01 09:18:16 25 4
gpt4 key购买 nike

有一个方法:

- (void)doSmth:(NSString *__strong*)str {
NSLog(@"%@", *str);
}
当 __strong 跟在方法参数的类之后是什么意思?为什么有两个星号?

最佳答案

两个星号表示它是指向指针的指针。
__strong__weak相反你可能已经知道了。这意味着我们在这里谈论的是强引用。当我们持有那个引用时,对象不会被释放。

我们还需要知道写作 __strong Type *varName在技​​术上是错误的(尽管它有效并且几乎每个人都使用它)。正确的语法是 Type * __strong varName .

您的语法是指向对 NSString 的强引用的指针。 .意思是当方法返回一个对象时,必须有一个release从 ARC 调用以正确释放该对象。

请参阅相关问题:
NSError and __autoreleasing和官方文档:
Transitioning to ARC

关于objective-c - "*__strong*"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com