0
現在,我有幾行ObjC來輪詢設置的默認打印機,並且在我的應用程序中它應該使用該新打印機的名稱更新標籤,但到目前爲止它不是加工。在運行時更新默認打印機名稱
在我的控制,我有以下幾點:
[self updatePrinter];
其中要求這個小方法:
- (void)updatePrinter {
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
self.printerName.stringValue = printInfo.printer.name;
NSLog(@"Printer: %@", printInfo.printer.name);
}
當它擊中我的方法(在viewDidLoad
),它將填充標籤printerName
正確。
我嘗試添加一個計時器輪詢新打印機的默認設定:
[NSTimer scheduledTimerWithTimeInterval:2.0
target:self
selector:@selector(updatePrinter)
userInfo:nil
repeats:YES];
這正常運行,但如果我打開系統偏好設置,更改默認打印機,它繼續打印的名稱舊的默認值。如果我重新啓動應用程序,它只會有不同的表現。
如何在運行期間將新的默認值反映到我的應用程序中?
感謝。通過比較,我想出了一個非常複雜的解決方案,涉及PM *函數,並認爲initWithDictionary:需要所有設置。這對我來說非常簡單而有效。 – drewpotential