2012-02-29 36 views
0

我加載從文件中石英組成,通過這個代碼加載石英組成:QCView無法從文件

// quartz is a QCView in the XIB file 
QCComposition *qc = [QCComposition compositionWithFile:@"res/wdq.qtz"]; 
//NSLog(@"input keys %@",[qc inputKeys]); 
//NSLog(@"copyright %@",[[qc attributes] valueForKey:QCCompositionAttributeCopyrightKey]); 
[quartz loadComposition:qc]; 

,我得到的錯誤:

*** <QCComposition = 0x100258d80 | identifier = "(null)" | source = (null) | backing = "res/wdq.qtz": Failed loading composition 

(文件存在的位置,從IB加載文件在IB內工作,但在運行應用程序時不能運行)

Mac OS X Lion 10.7.3 | XCode 4.2 | Quartz Composer 4.5

+0

問題是QCView不是主窗口。 – tagyro 2012-03-01 10:30:55

回答

0

工作目錄可能不是你認爲的那樣。嘗試使用絕對路徑引用它。

例如,假設QTZ文件在包的資源文件夾:

NSString *path = [[NSBundle mainBundle] pathForResource:@"wdq" ofType:@"qtz" inDirectory:@"res"]]l 
QCComposition *qc = [QCComposition compositionWithFile:path]; 
+0

謝謝,但實際上問題是QCView不在主窗口上,並且由於某些原因導致無法加載文件 - 在主窗口上移動QCView解決了問題。 – tagyro 2012-03-01 10:29:42