小编Nic*_*ore的帖子

以编程方式检查显示器是否已关闭

Mac OS X具有省电功能,允许操作系统关闭显示器.是否有API可以在代码中检测显示器当前是打开还是关闭?

macos cocoa objective-c

7
推荐指数
2
解决办法
1433
查看次数

如何告诉编译器我的类动态地解析方法?

我有一个resolveInstanceMethod用于动态实现方法的类.当我从代码的其他部分调用动态实现的方法时,编译器会发出一个警告,指出该对象可能无法响应选择器.我希望编译器不为此类发出此类警告,但我不想在其他类上调用无效选择器时禁止显示警告.这可能吗?

cocoa objective-c

6
推荐指数
1
解决办法
190
查看次数

如何在鼠标光标周围绘制突出显示

我希望能够在鼠标光标周围显示快速的动画“闪光”(类似于某些屏幕录制应用程序中的效果)。解决这个问题的好方法是什么?

我当前的想法是在鼠标位置下显示一个临时的、浮动的、透明的窗口窗口,为其设置动画,然后隐藏它。但我想知道是否有更好的建议?

macos cocoa objective-c mouse-cursor

6
推荐指数
1
解决办法
1013
查看次数

双模式ARC/GC和Core Foundation桥接

我正在编写旨在在ARC和垃圾收集下工作的代码.

这里有一些使用Core Foundation的代码,因为它可能是专门为ARC编写的:

CFTypeRef ref=CFCopySomething();
// At this point ref has retain count 1.
id obj=(__bridge_transfer id)ref;
// Ref still has retain count 1 but is now managed by ARC.
[obj doSomething];
// ARC will release ref when done.
Run Code Online (Sandbox Code Playgroud)

这似乎相当于:

CFTypeRef ref=CFCopySomething();
// At this point ref has retain count 1.
id obj=(__bridge id)ref;
// Now ref has retain count 2 due to assigning to strong variable under ARC.
CFRelease(ref)
// Now ref has retain count 1.
[obj doSomething];
// …
Run Code Online (Sandbox Code Playgroud)

garbage-collection objective-c core-foundation automatic-ref-counting

6
推荐指数
1
解决办法
1119
查看次数

在OS X上获取模型标识符字符串

每台Mac都有一个型号标识符,例如"Macmini5,1".(这些显示在"系统信息"应用程序中.)

在此输入图像描述

我如何以编程方式获取此模型标识符字符串?

macos cocoa core-foundation

6
推荐指数
4
解决办法
1086
查看次数

如何从已知的PID中找到Bundle Identifier?

我有任意运行进程的pid(进程标识符).如何找到相关应用程序的软件包标识符(如果有)?

macos cocoa pid objective-c

5
推荐指数
2
解决办法
1971
查看次数

从位图大纲创建NSBezierPath

我想创建一个NSBezierPath对象,它对应于任意位图图像的轮廓.

我的所有图像都是具有透明背景的纯色单色形状.这是一个例子:

实心挂锁形状的位图图像

我想要形状轮廓的bezier路径.实现这一目标的最简单方法是什么?

cocoa objective-c nsbezierpath

5
推荐指数
1
解决办法
1981
查看次数

随机数,范围为0到n

给定一个产生真随机32位数的函数R,我想要一个返回0到n范围内随机整数的函数,其中n是任意的(小于2 ^ 32).

该函数必须以相同的概率产生0到n的所有值.

我想要一个在没有if语句或循环的情况下在常量时间内执行的函数,所以像Java Random.nextInt(n)函数这样的东西就出来了.

我怀疑一个简单的模数不会起作用,除非n是2的幂 - 我是对的吗?


我接受了Jason的答案,尽管它需要一个不确定持续时间的循环,因为它似乎是在实践中使用的最佳方法,并且基本上回答了我的问题.然而,我仍然对任何算法(即使效率较低)感兴趣,这些算法本质上是确定性的并且保证终止,例如Mark Byers指出的.

random algorithm

3
推荐指数
1
解决办法
2494
查看次数

Grand Central Dispatch应创建多少个主题?

据我所知,GCD只会根据需要创建尽可能多的线程以充分利用CPU.在dispatch_async用于启动大约30个后台任务的代码中,我看到活动监视器中的线程数量大约增加了30个.我不会想到,因为它只是一个双核PC.

我确定我误会了什么.有人能告诉我发生了什么事吗?

macos multicore libdispatch grand-central-dispatch

2
推荐指数
1
解决办法
1265
查看次数

如何在IBAction-call中使用sender参数

在诸如的动作方法中

- (IBAction)myAction:(id)sender {
// do something
}
Run Code Online (Sandbox Code Playgroud)

sender参数可以用于什么?

是否有可能检测到在调用该操作的控件上进行了哪种类型的点击(例如鼠标左键)?如果是这样的话?

cocoa objective-c

1
推荐指数
1
解决办法
751
查看次数

为什么我的Cocoa应用程序使用了如此多的虚拟内存?

我写了一个简单的Cocoa应用程序.在Activity Monitor中,它显示使用的虚拟内存比所有其他应用程序多得多:304.6MB.(它从一开始就使用它,所以我认为这不是内存泄漏/管理问题).就像Firefox,Mail等只使用30MB-60MB左右.我的应用程序使用13MB实内存.

我正在使用垃圾收集.我链接到AppKit.framework.这是正常的还是我做错了什么?

cocoa memory-management

0
推荐指数
1
解决办法
450
查看次数