问题列表 - 第17101页

在Obj-C中发现给定类的子类

有没有办法在运行时发现给定类存在哪些子类?

编辑:从答案到目前为止,我认为我需要澄清一点我想做的事情.我知道这在Cocoa中并不常见,并且可能会有一些警告.

我正在使用动态创建模式编写解析器.(参见Buck and Yacktman撰写的Cocoa Design Patterns一书,第5章.)基本上,解析器实例处理堆栈,并实例化知道如何执行某些计算的对象.

如果我可以获得MYCommand该类的所有子类,我可以为用户提供可用命令的列表.此外,在第5章的示例中,解析器具有替换字典,因此可以使用+, - ,*和/等运算符.(它们映射到MYAddCommand等等)对我来说,似乎这些信息属于MyCommand子类,而不是解析器实例,因为它有点挫败了动态创建的想法.

reflection cocoa objective-c

9
推荐指数
2
解决办法
2728
查看次数

SQL Server存储过程中的可选参数?

我正在SQL Server 2008中编写一些存储过程,并想知道可选输入参数的概念是否可行?

我想我总是可以为我不想使用的参数传递NULL,检查存储过程中的值,然后从那里拿东西,但我感兴趣的是这里有这个概念.谢谢!

stored-procedures optional-parameters sql-server-2008

112
推荐指数
3
解决办法
20万
查看次数

Response.Flush()仅适用于Firefox

我正在尝试在做一些冗长的工作之前向客户端发送一些内容:

Response.Write("Processing...");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
Run Code Online (Sandbox Code Playgroud)

在Firefox中,它按预期工作,但在IE8,Safari和Chrome中,它等待所有代码处理完毕,然后显示整个文本.

我尝试发送一个更好的HTML,如下面的示例,但我得到相同的结果:

Response.Write("<html><head><title>test</title></head><body>Processing...</body></html>");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
Run Code Online (Sandbox Code Playgroud)

谢谢!

asp.net google-chrome internet-explorer-8

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

C++:迭代向量向量

嘿!我正在做这个项目,现在我正在尝试:

  1. 创建一些对象并将它们存储在向量中,这些向量存储在另一个向量V中
  2. 迭代V内的向量
  3. 迭代各个向量内的对象

无论如何,我只是在网上搜索,我来到了stl for_each函数.看起来很整洁,但我遇到了问题.我试图以这种方式使用它:

for_each(V.begin(), V.end(), iterateThroughSmallVectors);
Run Code Online (Sandbox Code Playgroud)

iterateThroug ....只是在传递给它的向量上做同样的事情.

现在我得到一个奇怪的"矢量迭代器不兼容"运行时错误.我已经查看了它,但在此找不到任何有用的输入..

我不知道它是否有帮助,但V是存储在A类中的私有向量<>,它有一个访问器,我试图通过执行以下操作在B类中迭代它:

A->getV().begin(), A->getV().end(), etc..
Run Code Online (Sandbox Code Playgroud)

任何人都知道发生了什么事?

编辑:好的,所以我认为发布代码更好,问题可能会出现......

gameState.h中的getTiles:

vector<vector<tile*>> getTiles();
Run Code Online (Sandbox Code Playgroud)

main.cpp中的for_each循环:

for_each(currState->getTiles().begin(),currState->getTiles().end(), drawTiles);
.
.
void drawTiles(vector<tile*> row)
{
for_each(row.begin(), row.end(), dTile);
}
void dTile(tile *t)
{
t->draw();
}        
Run Code Online (Sandbox Code Playgroud)

创建向量:

int tp = -1;
int bCounter = 0;
int wCounter = 0;
for (int i = 0; i < 8; i++)
{
vector<tile*> row(8);
    for (int j = 0; j < 8; j++)
    {
    tile *t = new tile(tp, …
Run Code Online (Sandbox Code Playgroud)

c++ iteration foreach vector

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

如何在R中分离线性回归图?

对于具有2个变量的线性模型

r = lm(y ~ x1+x2)
Run Code Online (Sandbox Code Playgroud)

当我跑步的时候 plot(r),我得到了一堆图,比如残差和拟合值等,但我一次只看其中一个.

有没有办法将它们分开?

r linear-regression

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

MySQL:添加创建和修改的字段

在MySQL中添加创建和修改字段的最佳方法是什么:

1)使用像on update CURRENT_TIMESTAMP或等的MySQL功能

2)使用PHP(或其他)?为什么?

如果答案是MySQL,你会怎么做?

php mysql

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

Prism Event Aggregation - 未触发订阅者

我正在使用Prism实现事件聚合.我有几个模块,我希望他们每个人订阅事件,告诉他们什么时候被请求.我开始用shell中的订阅和发布者做一个简单的例子.没有问题.现在; 当我将订户移到我的模块时,他们不会被触发.更奇怪的是它实际上已经工作了几次 - 所有这些我都在断点中待定.所以在我看来是一些竞争条件,但我不明白为什么.

假设:我不需要在任何地方设置IEventAggregator - 例如在IoC容器中注册?这是内置于Prism中的,因此我只有一个事件聚合器实例,对吗?

所以,问题基本上是我应该如何/何时/何时设置我的订阅者.东西等有特定的订单吗?在我的简化示例中,我有一个模块MyModule.Bootstrapper会将MyModule添加到目录中 - 使其初始化:

catalog.AddModule(typeof(MyModule));
Run Code Online (Sandbox Code Playgroud)

MyModule将存储聚合器并使用它来订阅MyModuleRequestedEvent.它还使用菜单注册表在应用程序菜单中注册.这个想法是最终点击菜单应该触发事件 - 通知MyModule它已被请求.然后我希望MyModule有责任弄清楚该做些什么.

public MyModule(IEventAggregator aggregator, IApplicationMenuRegistry menu)
{
    _applicationMenu = menu;
    _aggregator = aggregator;
}

public void Initialize()
{
    var evnt = _aggregator.GetEvent<MyModuleRequestedEvent>();
    evnt.Subscribe(MyModuleRequested);
    _applicationMenu.RegisterMenuItem("MyModule", evnt);
}

public void MyModuleRequested(bool b)
{
    MessageBox.Show("MyModule requested");
}
Run Code Online (Sandbox Code Playgroud)

现在,我的shell中有一个按钮,可以发布此事件.shell在解析时获得相同的(?)事件聚合器.

public Shell(IEventAggregator aggregator)
{
    InitializeComponent();
    var evnt = aggregator.GetEvent<MyModuleRequestedEvent>();
    EventTriggerButton.Click += (s, e) => evnt.Publish(true);
}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 已验证该事件已发布.在shell中添加订户也会使该订户接收该事件.
  • 再次; MyModule中的订户未被触发.然而,奇怪的是,有几次.
  • 我没有使用事件的输入.看起来你需要一些输入类型,所以我只是带着一个虚拟布尔.我可以摆脱这个......?

.net wpf prism eventaggregator

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

实现动态滚动的算法

什么是用于创建动态滚动实现的好算法?该功能将在自定义UI列表上进行测试.虽然我的目标是移动设备(那些没有内置此功能的设备),但是来自不同编程领域的任何算法或代码示例也可能适用.

language-agnostic algorithm mobile scroll touchscreen

25
推荐指数
3
解决办法
2万
查看次数

504
推荐指数
4
解决办法
72万
查看次数

Django,不能分配None,不允许空值

我有这个models.py

import datetime
from django.db import models
from tinymce import models as tinymce_models
from filebrowser.fields import FileBrowseField

class ItemWithMedia(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

class Actual(ItemWithMedia):
    published = models.DateField('Published')
    title_hr = models.CharField('(hr)', max_length=200)
    title_en = models.CharField('(en)', max_length=200)
    body_text_hr = models.TextField('(hr)')
    body_text_en = models.TextField('(en)')

    def __unicode__(self):
        return self.title_hr

    class Meta:
        verbose_name = "Aktualno"
        verbose_name_plural = "Aktualni"
        ordering = ['-published']
Run Code Online (Sandbox Code Playgroud)

当我尝试在管理站点中创建新项目时出现此错误:无法分配无:"Actual.published"不允许空值.

可能是什么问题呢?

django django-models django-admin

11
推荐指数
2
解决办法
9726
查看次数