我需要在WPF控件层次结构中搜索与给定名称或类型匹配的控件。我该怎么做呢?
我需要在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;
}