0

我似乎无法让 cancelUserAttentionRequest 工作。我有以下...

.mm 文件

void SetNotify()
{
    this->notify = [NSApp requestUserAttention:NSCriticalRequest];
}

void RemoveNotify()
{
    if (!this->notify) {
        return;
    }

    [NSApp cancelUserAttentionRequest:this->notify];
}

标题

protected:
    int notify;

我正在使用一个计时器来调用 SetNotify,然后是另一个在 5 秒后运行的计时器。图标弹跳得很好,但它不会停止弹跳。我错过了什么吗?

4

1 回答 1

2

删除if (!this->notify)检查。

的文档requestUserAttention:没有说明它返回的整数的性质(它可以是任何有效的整数),并且当前实现返回0第一个请求。如果您需要确保SetNotify()在之前调用过RemoveNotify(),请使用单独的布尔标志。

(此外,您应该将返回值存储在 中NSInteger,而不是int。)

于 2012-11-17T22:28:00.547 回答