gpt4 book ai didi

objective-c - "property with ' weak' attribute must be of object type"是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 03:28:34 25 4
gpt4 key购买 nike

我的界面中有这个:

@property (nonatomic, weak) NSTimeInterval *timeStamp;

我的逻辑告诉我,我需要一个时间戳对象,这个对象只会在实例化的上下文中被这个类使用,所以“弱”对我来说似乎是合乎逻辑的——但 XCode 告诉我“具有“弱”属性的属性必须是对象类型“......如果我这样做:

@property (nonatomic) NSTimeInterval *timeStamp;

然后错误消失了,但我不确定我明白为什么......

最佳答案

问题是 NSTimeInterval 是一个值类型——它是 double 的别名,本质上(检查 NSDate.h 的 typedef)。 weak 属性仅适用于具有保留计数的对象(即任何从 NSObjectNSProxy 派生的对象)。

因此,存储指向 NSTimeInterval 的指针可能是您的错误。您很可能永远不会收到指向 NSTimeInterval 的指针,除非您希望写入给定地址作为函数的输出(在这种情况下可能是回调)。也就是说,我不知道有任何将 NSTimeInterval * 作为返回类型的函数,也不知道有任何函数将相同的函数传递给回调。

关于objective-c - "property with ' weak' attribute must be of object type"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12014358/

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