2014-03-26 141 views
1

我收到以下錯誤消息:invalid attempt to access <ALAssetPrivate: 0xa4a1ed0> past the lifetime of its owning ALAssetsLibrary當我嘗試創建自定義圖像選取器時。ALAssetsLibrary無效或無效

我用這個APPLE樣本來創建這個程序。示例Apple應用程序完美工作。但是當我將該示例代碼複製到我的應用程序時,它會得到上述錯誤消息。

請有人可以幫助我爲什麼這個錯誤來& ALAssetsGroup成爲空。

+0

添加你在哪裏得到的崩潰,並顯示該代碼是如何與蘋果樣本代碼。 – Wain

+0

這是我之前問過的問題。但沒有答案 http://stackoverflow.com/questions/22654784/alassetsgroup-become-null – DilumN

回答

6

我找到了這個問題的答案。問題是我使用的ALAssetsLibrary被ARC取消了。該解決方案是,添加此靜態方法,而不是ALAssets圖書館..

+ (ALAssetsLibrary *)defaultAssetsLibrary { 
    static dispatch_once_t pred = 0; 
    static ALAssetsLibrary *library = nil; 
    dispatch_once(&pred, ^{ 
     library = [[ALAssetsLibrary alloc] init]; 
    }); 
    return library; 
} 

Source

+0

This works.Thanks。謝謝。 – tounaobun