我需要在WPF控件层次结构中搜索与给定名称或类型匹配的控件。我该怎么做呢?

为了方便起见,我在下面添加了相关的手册页。

首先,我的(错误的)理解是:如果我需要用,分隔选项,这意味着第二个-Wl不是另一个选项,因为它在前面,这意味着它是-rpath选项的参数。

我不明白-rpath怎么会有-Wl。争论。

在我看来是这样的:

-Wl,-rpath .

这应该调用带有当前目录参数的-rpath链接器选项。


男人gcc:

- wl,选择 将选项作为选项传递给 链接器。如果option包含逗号,则它 被分成多个选项在 逗号。您可以使用此语法来 向该选项传递一个参数。为 - wl,地图,输出。通过地图 地图输出。映射到链接器。当 使用GNU链接器,你也可以得到 同样的效果 “- wl,地图= output.map”。

男人ld:

-rpath=dir

目录中添加一个目录 运行时库搜索路径。这是 在链接ELF可执行文件时使用 共享对象。所有的rpath 参数被连接并传递 到使用它们的运行时链接器 在运行时定位共享对象。 -rpath选项也用于 定位共享对象 共享对象显式需要 包含在链接中;

在ARC下的单例共享实例访问器中使用dispatch_once的确切原因是什么?

+ (MyClass *)sharedInstance
{
    //  Static local predicate must be initialized to 0
    static MyClass *sharedInstance = nil;
    static dispatch_once_t onceToken = 0;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[MyClass alloc] init];
        // Do any other initialisation stuff here
    });
    return sharedInstance;
}

在后台异步实例化单例是不是一个坏主意?我的意思是,如果我请求共享实例并立即依赖它,但dispatch_once直到圣诞节才创建对象,会发生什么?它不会立即返回,对吧?至少这似乎是中央调度的全部意义所在。

他们为什么要这么做呢?

我怎么能把一些文本放入一个文本框,这将被自动删除时,用户键入的东西在它?

我希望用户选择一个目录,我将生成的文件将保存在其中。我知道在WPF中,我应该使用Win32中的OpenFileDialog,但不幸的是,对话框需要选择文件-如果我只是单击确定而不选择一个,它就会保持打开。我可以通过让用户选择一个文件,然后剥离路径以找出它属于哪个目录来“hack”该功能,但这充其量是不直观的。有人见过这种情况吗?

编辑: 从另一个问题,我提供了一个答案,有很多关于单例的问题/答案的链接:

所以我读了单身人士的帖子:好的设计还是拐杖? 争论仍在激烈进行。

我认为单例是一种设计模式(有好有坏)。 单例的问题不在于模式,而在于用户(对不起大家)。每个人和他们的父亲都认为他们可以正确地实施一个(从我所做的许多采访来看,大多数人都不能)。另外,因为每个人都认为他们可以实现正确的单例,所以他们滥用模式并在不合适的情况下使用它(用单例替换全局变量!)

所以需要回答的主要问题是:

什么时候应该使用单例 如何正确地实现单例

我对本文的希望是,我们可以在一个地方(而不是谷歌和搜索多个站点)收集何时(以及如何)正确使用Singleton的权威来源。同样合适的是列出反用法和常见的坏实现,解释为什么它们不能工作,以及对于好的实现来说它们的缺点。

所以开始行动吧: 我会举起我的手,说这是我用的,但可能有问题。 我喜欢“Scott Myers”在他的书《Effective c++》中对这个主题的处理。

使用单例的好情况(不多): 日志框架 线程回收池

/*
 * C++ Singleton
 * Limitation: Single Threaded Design
 * See: http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf
 *      For problems associated with locking in multi threaded applications
 *
 * Limitation:
 * If you use this Singleton (A) within a destructor of another Singleton (B)
 * This Singleton (A) must be fully constructed before the constructor of (B)
 * is called.
 */
class MySingleton
{
    private:
        // Private Constructor
        MySingleton();
        // Stop the compiler generating methods of copy the object
        MySingleton(MySingleton const& copy);            // Not Implemented
        MySingleton& operator=(MySingleton const& copy); // Not Implemented

    public:
        static MySingleton& getInstance()
        {
            // The only instance
            // Guaranteed to be lazy initialized
            // Guaranteed that it will be destroyed correctly
            static MySingleton instance;
            return instance;
        }
};

好的。让我们把一些批评和其他实现放在一起。 : -)

能见度之间有什么区别?塌陷和能见度。隐藏在WPF中?

我正在考虑一个WPF应用程序的ListBox或ListView。它似乎既支持数据绑定,也支持项模板。我的应用程序有一个简单的项目列表,我希望能够根据用户输入进行搜索/排序/筛选。数据绑定演示(http://msdn.microsoft.com/en-us/library/ms771319.aspx)使用一个带有CollectionViewSource的ListBox。

有人知道什么时候使用哪种控件的优缺点吗?

我的单例访问方法通常是一些变种:

static MyClass *gInstance = NULL;

+ (MyClass *)instance
{
    @synchronized(self)
    {
        if (gInstance == NULL)
            gInstance = [[self alloc] init];
    }

    return(gInstance);
}

我能做些什么来改善这一点呢?

如果你的目标系统是iOS 4.0或以上

使用GCD,它是在Objective-C(线程安全)中创建单例的最好方法吗?

+ (instancetype)sharedInstance
{
    static dispatch_once_t once;
    static id sharedInstance;
    dispatch_once(&once, ^{
        sharedInstance = [[self alloc] init];
    });
    return sharedInstance;
}