簡體   English   中英

當我得到NSFileModificationDate時得到EXEC_BAD_ACCESS

[英]Get EXEC_BAD_ACCESS when I get the NSFileModificationDate

我嘗試獲取文件的最后修改日期:

NSFileManager *fm = [[NSFileManager alloc] init];
NSError *err;
NSDate *lastModif = [[fm attributesOfItemAtPath:filename error:&err] objectForKey:NSFileModificationDate];//filename is ok ;-)
if(err == nil) {
    [lastModif retain];
    //I can put a NSLog of lastModif here, it works !!
    NSTimeInterval lastModifDiff = [lastModif timeIntervalSinceNow];//crash here
}

我不明白為什么NSDate似乎被發布,為什么保留不保留它。

謝謝,如果您有任何想法...

您無需保留lastModif 我認為您在使用NSLog或之后對其進行任何處理時,可能會嘗試將lastModifDiff視為某種對象。 NSTimeInterval是一個double的typedef,因此,如果要將其用作對象,則需要將其視為double或[NSNumber numberWithDouble:lastModifDiff]

我遇到了同樣的問題,但是這篇文章似乎很貼切:

NSDate:timeIntervalSinceNow崩潰

我正在編寫一組簡單的功能-startClock / endClock-使用NSDate確定游戲循環中的FPS。 除了timeIntervalSinceNow崩潰之外,聲稱我之前設置的NSDate對象不存在。

我知道一個事實,當我調用startClock時,NSDate對象的保留計數為1,但是我的理論是,當NSDate實例感到無聊並且感覺不到用處時,會內部對其進行自動釋放。

使用保留/釋放來假定這些飛行的和短暫的NSDate對象的所有權對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM