我正在实现一个看起来如下的工厂模式.
public class FeedFactory
{
#region Singleton Pattern
//..
#endregion
private static Feed[] _factory = new Feed[(int)FeedType.Total];
public void RegisterFeed(FeedType feedType,Feed feed)
{
if (_factory[(int)feedType] == null)
{
_factory[(int)feedType] = feed;
}
else
{
// already registered
}
}
public Feed GetFeed(FeedType feedType)
{
return _factory[(int)feedType];
}
}
Run Code Online (Sandbox Code Playgroud)
这Feed是一个抽象类,不同的类从中继承.如何注册不同的课程?是否有可能从他们的构造函数中做到这一点?
我有一个Hash @answers = params [:Answers] .to_hash;
<%= debug @answers %> 出局
---
"1": "2"
"7": "3"
"6": "4"
"4": "0"
Run Code Online (Sandbox Code Playgroud)
需要将@answers设为如下所示
@ans = {1 => 2, 7 => 3, 6 => 4, 4 => 0}
<%= debug @answers %> 出局
---
1: 2
7: 3
6: 4
4: 0
Run Code Online (Sandbox Code Playgroud) 我使用jquery动态表单获得了一些不错的布局生成器,并且jquery ui功能可以更改已使用元素的数量,它们的css属性等.一切看起来都很棒但是当前结果的呈现存在一个问题.我想保存生成的html DOM并以某种方式解析它(从DOM树中删除隐藏的元素等).任何想法如何保存当前(修改)的html + css?
我有一个UIImageView放在一个视图上,我想捕获iPhone屏幕,而UIImageView是动画.
我可以成功捕获UIImageView的静态帧的屏幕截图,如下所示:
[[myView layer] renderInContext:context];
Run Code Online (Sandbox Code Playgroud)
然而,当UIImageView动画throguh
[MyImageView startAnimating]
然后,不捕获那些动画帧.
目前还有可用于捕获动画帧的renderInContext的替代方法吗?
注意:我知道iOS4更新后Apple不再接受UIGetScreenImage().
如果我有以下内容
private volatile Collection<Integer> ints;
private void myMethod()
{
for ( Integer i : ints )
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
int集合永远不会改变,但整个集合可能被另一个线程所取代(所以它是一个不可变的集合).
在迭代之前,我应该在本地复制ints变量吗?我不确定它是否会被多次访问.即迭代集合,另一个线程替换集合,代码继续迭代但使用新集合.
编辑:此问题与foreach如何在内部工作的其他信息相关.
我有一个asp.net WebMethod,它返回一个XmlDocument对象.我可以使用jquery ajax成功调用该方法,但似乎无法使函数成功(服务器端webmethod使用正确的参数调用,但客户端方法失败并带有'undefined parser error').
重现,Asp.net C#:
[WebMethod]
public static XmlDocument test(string name)
{
XmlDocument result = new XmlDocument();
XmlElement root = result.CreateElement("Data");
result.AppendChild(root);
XmlElement element = result.CreateElement("AnElement");
element.SetAttribute("Name", name);
root.AppendChild(element);
return result;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
function CallForData(name) {
$.ajax({
type: "POST",
url: "AppName.aspx/test",
data: "{'name': " + name+ "'}",
contentType: "application/json; charset=utf-8",
dataType: "xml",
success: function (response) { ParseXML(response); },
error: function (data, textStat, req) { alert(data + ' - ' + textStat + ' - ' + req); } …Run Code Online (Sandbox Code Playgroud) 所以我创建了一个软件,我想打包并发布到Arch Linux用户存储库,AUR, - 请注意,我以前从未为任何发行版打包过任何东西 - 而且我还将它打包并安装在我自己的机器上通过Arch的包管理员Pacman成功,但现在我想知道我是怎么构建文件夹和文件的?
通常当我编写软件时,我使用这种结构:
建立/ | src/| 生成文件
至少,在这个软件的情况下,makefile只是编译从.rc /到build /的.cpp文件.为了制作Arch包,我还必须创建一个.rc文件,正确使用该程序作为守护进程和PKGBUILD文件,该文件告诉makepkg程序如何构建installer-package - 这两个文件,虽然,特定于Arch.如果我想将程序打包为debian,我还需要另外一组文件来执行此操作,但这些文件仅适用于debian.现在,我不能只将.rc文件和PKGBUILD文件放入程序根目录文件夹中,因为这样会"乱七八糟",特别是如果我还有用于为debian构建软件包的文件,但我在哪里放特定于发行版的文件?我需要在程序根文件夹中使用它 - 至少 - 能够跟踪它,我最初的想法是使用像distro/arch /这样的结构来获取Arch Linux特定文件,然后是PKGBUILD文件只是在程序根文件夹中运行makefile并将编译后的文件从build /复制到distro/arch /之前做了其他任何事情,但我发现我无法让PKGBUILD以这种方式工作,而且在Freenode上的#archlinux上也有人说这不是一个聪明的主意.
那么我在哪里放置发行版特定文件?如果我知道我只需要为Arch提供这个程序,那么只为Makepkg构建它很容易,但是我不喜欢将软件这样监禁,而且我也可以设想为debian等其他市长发行版提供包,所以如何在保持理智的文件结构的同时实现这一目标?
此致,Chris Buchholz
如果我有一些类似的课程
@property (nonatomic, retain) NSString* myString;
Run Code Online (Sandbox Code Playgroud)
并且想要在作为这些类之一的对象中访问该属性(但不知道它是哪个类型id),我显然得到"请求成员'myString'而不是结构或联合"错误.
所以,如果这些类中的每一个都符合:
@protocol myProtocol <NSObject>
@required
@property (nonatomic, retain) NSString* myString;
@end
Run Code Online (Sandbox Code Playgroud)
然后我像这样投下来获得财产:
(id<myProtocol>)anObject.myString
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我仍然得到同样的错误.
IndexOf,IndexOfAny而且LastIndexOf,LastIndexOfAny似乎没有这些(或者他们可能).我正在寻找std :: string find_first_not_of和find_last_not_of.的公差.我正在考虑创建一个扩展类,但我不确定C#是否已经提供了这个功能.
大家早,
我有一个像这样的图像列表:
<ul id="preload" style="display:none;">
<li><img src="afx4000z-navy-icon-1_thumb.jpg"/></li>
<li><img src="afx4000z-green-icon-1_thumb.jpg"/></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用jQuery如何在ul#preload中查找包含特定字符串的所有图像src,例如"green"
就像是...
var new_src = jQuery('#preload img').attr('src')*** that contains green ***;
Run Code Online (Sandbox Code Playgroud)