2009-12-16 62 views
0

我正在使用以下代碼對NSTextView對象執行拖動操作。如何通過拖動文件來添加文件內容

- (BOOL)performDragOperation:(id)sender 
{ 
    NSPasteboard *pboard = [sender draggingPasteboard]; 
    if ([[pboard types] containsObject:NSURLPboardType]) 
    { 
     NSURL *fileURL = [NSURL URLFromPasteboard:pboard]; 
     if ([[fileURL path] hasSuffix:@"plist"]) 
     { 
      NSString *code = [NSString stringWithContentsOfURL:fileURL encoding:NSUTF8StringEncoding error:NULL]; 
      int cnt = [[self string] length]; 
      if (cnt) [self setSelectedRange:NSMakeRange(0, cnt)]; 
      [self insertText:code]; 
      return YES; 
     } 
    } 
    return NO; 
} 

我也在.h文件中聲明瞭這個方法。

但運行代碼後,它顯示以下警告。

警告:「AppConroller」不能爲「」 -STRING響應 (消息不匹配的方法簽名將被假定爲返回「ID」,並接受「...」作爲參數。)

警告: 「AppConroller」可不迴應「-setSelectedRange:」

警告:「AppConroller」可不迴應「-insertText:」

回答

0

你發送自己(的AppController中)消息不支持。我認爲你的意思是讓[sender string],[sender setSelectedRange:]和[sender insertText:]。

+0

嗨。使用上述方法,警告已經消失,但是當我在文本視圖上拖動文件時,它仍然顯示文件路徑。我希望它顯示文件內容 – Shakti 2009-12-16 05:20:02

0

這可能只是一個錯字?所有警告都提到「AppConroller」,但我敢打賭,這個類實際上被命名爲「AppController」。

相關問題