我在我的界面中有这个:
@property (nonatomic, weak) NSTimeInterval *timeStamp;
Run Code Online (Sandbox Code Playgroud)
其中我的逻辑告诉我,我需要一个时间戳对象,只有将是由此类实例化它的上下文中使用,所以"弱"似乎是合乎逻辑的我 - 但XCode的告诉我:"产权与'弱'属性必须是对象类型"...如果我只是这样做:
@property (nonatomic) NSTimeInterval *timeStamp;
Run Code Online (Sandbox Code Playgroud)
然后错误就消失了,但我不确定我明白为什么......
nil*_*nil 12
问题是它NSTimeInterval是一个值类型 - 它double本质上是一个别名(检查NSDate.h的typedef).该weak属性仅适用于具有保留计数的对象(即,来自NSObject或的任何内容NSProxy).
因此,存储指针NSTimeInterval可能是您的错误.你很可能永远不会收到指向一个指针,NSTimeInterval除非你期望写一个给定的地址作为函数的输出(在这种情况下可能是一个回调).也就是说,我不知道任何函数NSTimeInterval *作为返回类型,也没有任何函数将它传递给回调.
| 归档时间: |
|
| 查看次数: |
7835 次 |
| 最近记录: |