Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么iOS版本支持NSTimer有效属性?_Ios_Nstimer - Fatal编程技术网

什么iOS版本支持NSTimer有效属性?

什么iOS版本支持NSTimer有效属性?,ios,nstimer,Ios,Nstimer,我注意到了最奇怪的事情。我在玩Ntimer,在浏览时,我找到了valid属性,并注意到该属性从iOS 8开始就可用。这一事实本身并不奇怪,但4-6年前关于NSTimer的大量stackoverflow帖子都提到了这个属性或建议使用它,这一事实让我感到困惑:,以及其他许多问题 因此,我的问题分为两部分: 哪些iOS版本真正支持NSTimervalidproperty 如果我的目标是iOS 7及以上版本,使用此属性安全吗 提前感谢。苹果的文档已经为Swift进行了更新,这就是为什么它在iOS 8

我注意到了最奇怪的事情。我在玩Ntimer,在浏览时,我找到了
valid
属性,并注意到该属性从iOS 8开始就可用。这一事实本身并不奇怪,但4-6年前关于NSTimer的大量stackoverflow帖子都提到了这个属性或建议使用它,这一事实让我感到困惑:,以及其他许多问题

因此,我的问题分为两部分:

  • 哪些iOS版本真正支持NSTimer
    valid
    property
  • 如果我的目标是iOS 7及以上版本,使用此属性安全吗

提前感谢。

苹果的文档已经为Swift进行了更新,这就是为什么它在iOS 8.0和更高版本中提供了一些属性和方法的
,而这些属性和方法从以前的iOS版本开始就已经存在了。例如,iOS 2.0中引入了
NSTimer
。您可以安全地使用它。

我转到
NSTimer.h
文件,找到了

@property NSTimeInterval tolerance NS_AVAILABLE(10_9, 7_0);

- (void)invalidate;
@property (readonly, getter=isValid) BOOL valid;

@property (readonly, retain) id userInfo;

@end
无法看到
valid
属性前面的可用
NS\u
,可能是apple docs有一些错误

我也给出了反馈来纠正它


每个人都错过了真实的故事。查看iOS 8.0 API差异,了解
NSTimer
(以及许多其他类)

苹果做了一次巨大的重构,将许多API转换为使用属性,而不是显式的setter/getter方法

在iOS 8.0之前,
NSTimer
有一个名为
isValid
的方法。在iOS 8.0中,苹果删除了这个方法,并添加了只读属性
valid
(用getter方法名
isValid
声明)

由于iOS 8.0中的这一变化(以及许多类似变化),这些文档使得许多API看起来就像是在iOS 8.0中添加的,尽管它们可能已经存在了更长的时间


最终的结果是,文档现在对许多属性都具有误导性。提交文档错误不太可能有任何作用,因为这个问题适用于大量的类和数百个属性/方法。

我在针对ios 7及以上版本的应用程序中使用此
NSTimer
及其
有效的
属性如果我没有弄错,并且能够正确地记得我已经在iOS4中使用过它,那么它工作得很好;我觉得自从
NSTimer
引入以来,它就一直可用。我猜它当前的可用性是苹果网站上新文档中的一个输入错误。因此,在这种情况下,这是苹果文档中的一个错误。我应该报告吗?如果是,如何报告?:)哦,伙计,你会经常在文档中找到它。。。我宁愿注意那些不推荐的。这个答案是不正确的。这与正在为Swift更新的文档无关。这与苹果所做的巨大重构有关,它用属性替换了许多以前的setter/getter方法。请看我的答案。事实上,在许多类和数百个属性/方法中都存在类似这样的问题,这不应该成为放弃它而不提交文档错误的理由。我已经报告了一个关于它的问题,希望很多人会关注类似的问题,所以最终文档将尽可能准确。谢谢你的解释:)FWIW这房子是给Swift的。对于objective-c,只有属性。两个都读了-only@Honey在Objective-C中,定义了
valid
属性,因此getter方法被称为
isValid
,正如我在回答中所述,正如参考文档中所示。我不明白。你在说哪个医生?请参阅我看不到
是否有效
。我只看到
valid
@Honey
@property(readonly,getter=isValid)BOOL-valid。从…起