问题列表 - 第47539页

NSMenuItem没有启用?

我有一个名为history的NSMenuItem,它位于一个名为菜单的NSMenu中.当我的程序启动时,历史记录没有子菜单,因此禁用它.然后在某些时候,我需要一个历史子菜单,所以我创建它,使它成为历史的子菜单.历史旁边出现一个箭头,告诉我子菜单在那里.但历史仍然是残疾人.我尝试过setEnabled但不起作用.请帮忙.这是我的代码:

这是我创建菜单和历史记录,因为您可以在菜单中看到NSMenuItem.

    menu = [[NSMenu alloc] initWithTitle:@"Menu"];
[[menu addItemWithTitle:@"History" action:nil keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Settings" action:@selector(loadSettings:) keyEquivalent:@""] setTarget:self];
[[menu addItemWithTitle:@"Quit" action:@selector(terminateApp:) keyEquivalent:@""] setTarget:self];
Run Code Online (Sandbox Code Playgroud)

此时,历史记录被禁用(灰色).然后在程序的某个地方,我需要有一个历史子菜单,所以:

        if (historyMenu == nil) {
        historyMenu = [[NSMenu alloc] initWithTitle:@"Lyrics history"];
        [menu setSubmenu:historyMenu forItem:[menu itemWithTitle:@"History"]];
    }
Run Code Online (Sandbox Code Playgroud)

我现在看到历史旁边的一个箭头,但它仍然是灰色的.

请帮助,我一直试图弄清楚最后2个小时.谢谢.

xcode cocoa objective-c nsmenuitem

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

使用System.Threading.Timer和Monitor进行线程安全执行

使用System.Threading.Timer从a中旋转的线程的结果ThreadPool,这意味着如果计时器的执行间隔在线程仍在按先前请求的顺序处理时到期,则将委托相同的回调在另一个线程上执行.在大多数情况下,这显然会导致问题,除非回调是可重入的,但我想知道如何以最好的(意味着安全的)方式去做.

假设我们有以下内容:

ReaderWriterLockSlim OneAtATimeLocker = new ReaderWriterLockSlim();

OneAtATimeCallback = new TimerCallback(OnOneAtATimeTimerElapsed);
OneAtATimeTimer = new Timer(OneAtATimeCallback , null, 0, 1000);
Run Code Online (Sandbox Code Playgroud)

整个shebang应该被锁定,如下:

private void OnOneAtATimeTimerElapsed(object state)
{
    if (OneAtATimeLocker.TryEnterWriteLock(0))
    {
        //get real busy for two seconds or more

        OneAtATimeLocker.ExitWriteLock();
    }
}
Run Code Online (Sandbox Code Playgroud)

或者,应该只管理输入,并踢出'侵入者',如下:

private void OnOneAtATimeTimerElapsed(object state)
{
    if (!RestrictOneAtATime())
    {
        return;
    }

    //get real busy for two seconds or more

    if(!ReleaseOneAtATime())
    {
        //Well, Hell's bells and buckets of blood!
    }       
}

bool OneAtATimeInProgress = false;

private …
Run Code Online (Sandbox Code Playgroud)

.net c# thread-safety

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

在版本控制中使用应用程序代码存储Django的好处

我正在尝试简单地部署我们的应用程序,并更轻松地管理我们依赖的库和框架的版本.

将Django存储在我们的VCS中是否有意义?理想情况下,这将使我更容易简化部署,并且我可以使用South管理Django对内置应用程序(django.contrib.auth,django.contrib.sites等)所做的任何模型更改.

我有理由不这样做吗?你为自己的应用做了什么?

django version-control upgrade django-models django-south

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

Heroku应用程序崩溃

我刚刚将我的RoR应用程序部署到Heroku,该应用程序可以在我的本地端口上运行,但是当我访问Heroku地址时,我得到:

App崩溃此应用程序暂时脱机.如果您是此应用的管理员,请检查您的heroku日志以获取回溯.

这可能是我在日志中发现的错误:

2011-02-25T17:08:25-08:00 heroku[router]: Error H10 (App crashed) -> GET afternoon-warrior-452.heroku.com/ dyno=none queue=0 wait=0ms service=0ms bytes=0
2011-02-25T17:08:25-08:00 heroku[router]: Error H10 (App crashed) -> GET afternoon-warrior-452.heroku.com/favicon.ico dyno=none queue=0 wait=0ms service=0ms bytes=0
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

ruby deployment ruby-on-rails heroku

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

撇号和Javascript/PHP

现在我有我的JavaScript代码

'title': '<?=$name?>',
Run Code Online (Sandbox Code Playgroud)

问题是,偶尔$ name会有一个撇号,并且可以让代码看起来像这样

'title': 'Bon Jovi It's My Life - Bon Jovi',
Run Code Online (Sandbox Code Playgroud)

这实际上搞砸了javascript.

我会在$ name上做一个mysql_real_escape_string吗?当我去使用它时,这不会留下标题中的斜线吗?

谢谢

javascript php apostrophe

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

如何在iOS中使用bzip2格式?Apple告诉我bzBuffToBuffDecompress是私有API

今天我将我的iOS应用程序提交到应用程序商店,但很快我收到了来自苹果的邮件,它说,

无法发布到App Store,因为它使用私有或未记录的API:

Private Symbol References

BZ2_bzBuffToBuffDecompress
Run Code Online (Sandbox Code Playgroud)

如您所知,正如iPhone开发人员计划许可协议第3.3.1节所述,不允许使用非公共API.在应用审核小组审核您的申请之前,请解决此问题并将新二进制文件上传到iTunes Connect.

我该怎么办?我真的需要在我的应用程序中支持bzip2格式.

cocoa-touch iphone-privateapi app-store bzip2 ios

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

使用jquery在phonegap应用程序中管理cookie的位置?

我的原生iphone应用程序,使用带jquery的phonegap(基于浏览器)开发,可以登录到Web服务器,登录后用户可以访问他们的资源.一旦用户通过身份验证,服务器就会在cookie中设置会话ID.

我对这个方案没有任何问题,但我想知道cookie存储在哪里,因为当我做警报(document.cookie)时,它返回空字符串.

是否有可能jquery中的ajax函数在内部管理cookie并将其发送给同一域的每个请求?

cookies session mobile jquery cordova

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

使用设备可用空间和沙箱空间

我正在尝试获取设备上的可用空间以及我的沙箱使用的空间量.有什么想法吗?

谢谢,里克

xamarin.ios ios4 ios

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

accept()线程安全吗?

我正在用C编写一个简单的网络服务器,用于我正在做的课程.一个要求是我们实现一个线程池来处理使用pthreads的连接.

我知道我将如何大致这样做(在主线程中调用accept并将文件描述符传递给freee线程),但是我的朋友提出了一种替代方法,而不是我想到的方法:在前面创建我的所有线程,并让他们全部循环接听电话.接受的想法是阻止所有空闲线程,当连接进入时,只给出一个文件描述符.然后当一个给定的线程完成一个连接时,它会循环回来并阻塞一个调用再次接受.使用accept()作为信号量的调用.这样可以简化其实现的实现,因为您不需要跟踪哪些线程正忙,哪些线程已准备好进行连接.理论上它也可能是较低的延迟,因为线程可以立即开始执行.

我的问题是,这样安全吗?我打算实施它并尝试一下,但我还没准备好,我很想知道答案.我在谷歌和这里搜索stackoverflow,但找不到任何人这样做.接受线程安全吗?我假设这种方法会有更多的开销,因为你一直在运行所有的线程,这两种方法只是简单的内存/延迟权衡吗?

编辑:我不确定这应该是社区维基,如果它应该是道歉,我找不到按钮:P

c sockets pthreads threadpool

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

为Python扩展设置C/C++编译器

我想在Linux下构建Python扩展时设置默认的C和C++编译器.我注意到构建的--compiler选项python setup.py,但我想知道是否有一种方法将其设置为环境变量,以便我只能指定它们一次.

c++ python linux

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