NSSavepanel Fieldingitor

时间:2012-12-05 19:51:35

标签: nssavepanel

我有一些代码在NSSavePanel中选择名称,没有扩展名,我很久以前就离开了网络,当时似乎工作得很好。我只是重用了代码,它现在失败了。错误是“[mySavePanel fieldEditor:NO forObject:nil]”返回nil。如果我将“NO”改为“YES”,它将返回一个NSText项,但它不是NSSavePanel中的名称编辑器。

NSSavePanel *mySavePanel = [NSSavePanel savePanel];
[mySavePanel setTitle: @"Restore File"];
[mySavePanel setMessage: @"Select a location and name to restore the file as:"];
[mySavePanel setNameFieldStringValue: currentRecord.originalName];

NSText *editor = [mySavePanel fieldEditor: NO forObject: nil];
if (editor)
{
    NSString *nameFieldString = [mySavePanel nameFieldStringValue];
    NSString *nameFieldExt = [nameFieldString pathExtension];
    if (nameFieldExt != nil)
    {
        NSInteger newLength = [nameFieldString length] - [nameFieldExt length] - 1;
        [editor setSelectedRange: NSMakeRange(0, newLength)];
    }
}

有点难过,有人知道为什么它会返回nil?

0 个答案:

没有答案