所以這裏的交易: 我在自定義框架的資源文件夾中有一個圖像,我用它作爲框架中類的默認值。但是,當我在與我的框架鏈接的項目中創建這些類時,他們失敗說他們找不到圖像。我猜測NSBundle的+ mainBundle不會搜索我的類的正確路徑,以便在不同項目中鏈接時查找此圖像。它是否正確?如果是這樣,我應該在哪裏尋找我的形象?我希望這是有道理的(這是非常晚),感謝您的幫助!圖片包未找到使用NSBundle
3
A
回答
2
對於應用程序,+ mainBundle將是應用程序包(例如,Foo.app)。框架是他們自己的捆綁包,您可以使用+ bundleForClass:或+ bundleWithIdentifier :.
0
這很可能是您的圖像沒有放入主包中。您可能必須直接使用NSBundle來構建圖像的路徑。內置的.app文件層次結構在圖像方面的效果如何?
+0
我不相信圖像不在框架包中。我的問題是,加載圖像的類正在使用[NSBundle mainBundle]來抓取圖像。由於此調用是由相關項目進行的,因此「主包」是應用程序包而不是框架包,因此不會搜索正確的包以查找映像。我需要找出最好的方法是始終搜索框架包以查找默認圖像。 – Grimless 2010-07-27 14:49:37
相關問題
- 1. 找到圖片src:包含?
- 2. NSBundle pathForResource:ofType:找不到應用程序包中的所有文件
- 3. 圖片未找到/加載正確 - 404
- 4. Django - 靜態圖片未找到
- 5. 找到未使用的圖片,css規則,js腳本塊
- 6. 找出用於UIViewController的NSBundle
- 7. ENOTFOUND包未找到
- 8. 未找到包; javac
- 9. javax.servlet包未找到
- 10. Soomla:Cocos2dx:Store:Android「未找到包」
- 11. 使用[NSBundle mainBundle] pathForResource:ofType:inDirectory:
- 12. RoR圖片標籤找不到圖片
- 13. 如何使用C查找應用程序包(NSBundle)中文件的路徑?
- 14. 未找到Virtualenv安裝包
- 15. 未找到Java包裝類
- 16. catkin_make後未找到Ros包
- 17. 未找到javax.ejb包(Eclipse)
- 18. Stata:未找到Ado包
- 19. 未找到包gnuradio-core
- 20. 未找到圖像
- 21. 未找到API包'memcache'或調用'FlushAll()'
- 22. 查找未使用的圖像或覆蓋+ imageNamed:記錄未找到圖像
- 23. 未找到包或者包package-info.java
- 24. 信息包中未找到包
- 25. 未收到圖片上傳
- 26. 添加圖片到罐子,到specipic找到使用ANT
- 27. 找到圖片的OpenCV中
- 28. Psycopg2沒有找到圖片
- 29. 如何查找圖片包含特定圖片/ Logo
- 30. SDK沒有找到圖片用的CocoaPods
因此,使用+ bundleForClass的:,我可以調用類似的東西來 'NSImage中* defaultImage = [[一個NSBundle bundleForClass:[MyClass的類] pathForResource:@ 「默認」 ofType:@ 「PNG」 inDirectory:無];' 抓住我想要的圖像?有沒有一種方法可以做得更乾淨一點(我不喜歡使用'[MyClass class]'調用)? – Grimless 2010-07-27 14:54:21
替代方案是+ bundleWithIdentifier,您可以使用您在該包的Info.plist中定義的標識符來調用該方法。 '[MyClass class]'有什麼問題?這是一個相當常見的使用模式,不應該讓你感到不舒服。 – 2010-07-27 16:59:20
這並不是說它讓我感到不舒服,我只是想知道是否有替代或更常用的模式。你會推薦哪個?我的直覺告訴我使用+ bundleWithIdentifier:因爲它可以很容易地被定義,並且不依賴框架的實際內容(類或者其他)。感謝您的輸入! – Grimless 2010-07-28 00:01:55