我想我应该检查是否[NSApplication presentationOptions]包含NSFullScreenModeApplicationPresentationOptions,但我该如何实现呢?
编辑:使用[NSApplication presentationOptions]不像在我的基于文档的应用程序中那样,全屏可能有一些文档而其他文档没有.我现在正在寻找另一种解决方案.我想知道为什么没有一个叫做的财产[NSWindow isFullscreen]或类似的东西.
我正在寻找一个名为addNewItem:(NSToolbarItem *)item或类似的方法,让我可以添加一个以编程方式创建的项目到我的工具栏,但我还没有找到.我想添加一个项目,当用户点击它时会显示一个弹出框,就像用户下载内容时的Safari一样.
我使用新的基于视图的NSTableView为Mac OS X Lion开发了一个应用程序,但是由于我想将整个应用程序移植到Snow Leopard,我试图找出模拟这样一个tableview的最佳方法.到目前为止,我已经创建了一个NSCollectionView,一切都很好,除了我无法获取触发按钮单击事件的视图的索引.在Lion中我有以下功能:
- (IBAction)buttonClick:(id)sender
Run Code Online (Sandbox Code Playgroud)
所以我可以使用一个方法(我记不起它的名字)来得到tableview里面的视图索引
- (NSInteger)rowForView:(NSView *)aView
Run Code Online (Sandbox Code Playgroud)
使用aView作为发件人的超级视图,但我找不到类似于集合视图的东西...唯一"有用"的方法似乎是
- (NSCollectionViewItem *)itemAtIndex:(NSUInteger)index
Run Code Online (Sandbox Code Playgroud)
(或类似的东西),但这不能帮助我,因为它返回一个NSCollectionViewItem,我甚至无法访问它只知道相应的视图!
indexing cocoa nstableview nscollectionview nscollectionviewitem
目前我可以删除选定的用户文件.问题是如何知道该文件的卷是否支持废弃.例如,外部USB记忆棒只有一个本地垃圾文件夹,而不允许在远程Mac上丢弃文件(即使是从Finder),它只能被删除.我没有在NSURLVolume[...]使用中发现任何适当的常数[NSURL getResourceValue:forKey:error].
我正在尝试在我的沙盒应用程序中使用FSEvents来监视某些目录.我实现了以下类:
@implementation SNTracker
- (id)initWithPaths:(NSArray *)paths {
self=[super init];
if (self) {
trackedPaths=paths;
CFTimeInterval latency=1.0;
FSEventStreamContext context={0,(__bridge void *)self,NULL,NULL,NULL};
FSEventStreamRef eeventStream=FSEventStreamCreate(kCFAllocatorDefault,&callback,&context,(__bridge CFArrayRef)trackedPaths,kFSEventStreamEventIdSinceNow,latency,kFSEventStreamCreateFlagUseCFTypes|kFSEventStreamCreateFlagWatchRoot|kFSEventStreamCreateFlagFileEvents);
FSEventStreamScheduleWithRunLoop(eeventStream,[[NSRunLoop mainRunLoop] getCFRunLoop],kCFRunLoopDefaultMode);
FSEventStreamStart(eeventStream);
}
return self;
}
static void callback(ConstFSEventStreamRef streamRef,void *clientCallBackInfo,size_t numEvents,void *eventPaths,const FSEventStreamEventFlags eventFlags[],const FSEventStreamEventId eventIds[]) {
NSLog(@"asd");
}
Run Code Online (Sandbox Code Playgroud)
问题是"asd"永远不会被打印出来(即永远不会调用回调函数).当我在Xcode中的主要目标摘要中禁用"启用应用程序沙箱"时,将调用回调.难道我做错了什么?我给沙盒应用程序的唯一权利是对用户所选文件的读写访问权限.
我试过打电话
modalSession=[NSApp beginModalSessionForWindow:conversionWindow];
[NSApp runModalForWindow:conversionWindow];
Run Code Online (Sandbox Code Playgroud)
为了获得一个modal conversionWindow,它阻止用户与应用程序的其余部分进行交互,但这似乎也阻止了代码的执行.我的意思是在上面显示的代码之后的代码根本不执行.我怎样才能解决这个问题?我确信这是可能的,因为许多应用程序在执行一些重要任务时表现出一些进展,例如视频转换等......
以下代码Unchecked cast: 'T' to 'U'在 IntelliJ IDEA 中生成警告:
interface A {}
class B<T extends A, U extends A> {
void f() {
final T t = null;
final U u = (U) t;
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说没有意义,因为T和U被定义为相同的类型。问题是什么?
cocoa ×7
macos ×2
appkit ×1
fsevents ×1
fullscreen ×1
generics ×1
indexing ×1
java ×1
modal-dialog ×1
monitor ×1
monitoring ×1
nstableview ×1
nstoolbar ×1
nsurl ×1
nswindow ×1
objective-c ×1
osx-lion ×1
recycle-bin ×1
volume ×1
xcode ×1