我正在尝试为一个应该调用它的委托(如果有的话)的类实现委托,当特殊事情发生时.
从维基百科我有这个代码示例:
@implementation TCScrollView
-(void)scrollToPoint:(NSPoint)to;
{
BOOL shouldScroll = YES;
// If we have a delegate, and that delegate indeed does implement our delegate method,
if(delegate && [delegate respondsToSelector:@selector(scrollView:shouldScrollToPoint:)])
shouldScroll = [delegate scrollView:self shouldScrollToPoint:to]; // ask it if it's okay to scroll to this point.
if(!shouldScroll) return; // If not, ignore the scroll request.
/// Scrolling code omitted.
}
@end
Run Code Online (Sandbox Code Playgroud)
如果我自己尝试这个,我会收到一个警告,说我找不到我在代理上调用的方法.当然不是,因为委托只是由id引用.它可能是任何东西.当然在运行时会工作正常,因为我检查它是否响应选择器.但我不想在Xcode中发出警告.有更好的模式吗?
我不知道这段代码的工作方式和原因:
// postorder dfs
Iterator< Index<String<char> >, TopDown<ParentLink<Postorder> > >::Type
myIterator(myIndex);
while (goDown(myIterator));
for (; !atEnd(myIterator); goNext(myIterator))
// do something with myIterator ( Traverse Through (Suffix)-tree )
Run Code Online (Sandbox Code Playgroud)
当您需要抛出未在您正在实现的接口中定义的异常时,要遵循的最佳实践是什么?
这是一个例子:
public interface Reader
{
public abstract void read() throws IOException;
}
public class CarrotReader implements Reader
{
public void read() throws IOException {}
}
public class CupcakeReader implements Reader
{
public void read() throws IOException, CupcakeException {}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您在阅读纸杯蛋糕时会发生特定的异常,因此您希望抛出与此相关的异常.但是,Reader没有在其界面中定义此类异常,那么您如何做?此外,将CupcakeException添加到Reader接口中的throws子句没有意义,因为这种类型的异常特定于CupcakeReader.解决这个问题的一种方法是让Reader定义read,使其抛出一些父类型,如Exception,但是你会丢失异常的上下文.在这种情况下你应该怎么做?谢谢!
已经提出的另一个有趣的情况涉及一个你无法控制的界面.在这种情况下,表明问题发生的最佳方法是什么?
为了便于说明,这是另一个例子:
public interface Reader
{
public abstract void read();
}
public class CupcakeReader implements Reader
{
public void read() throws CupcakeException {} …Run Code Online (Sandbox Code Playgroud) 我需要为JTree添加复选框.自定义TreeCellRenderer/TreeCellEditor似乎是正确的方法.到目前为止,我在此网页中使用了CheckBoxNodeRenderer方法.它可以正常工作,除了两件事:
有没有办法做这些事情?我四处寻找带有复选框的JTrees,找不到多少.JIDE看起来不错,但在这种情况下我需要使用免费的开源软件(GPL不行,LGPL没问题).(或创建我自己的复选框树)
使用LINQ TO SQL作为基于存储库的解决方案的基础.我的实现如下:
IRepository
FindAll
FindByID
Insert
Update
Delete
Run Code Online (Sandbox Code Playgroud)
然后我有扩展方法,用于查询结果:
WhereSomethingEqualsTrue() ...
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
我的用户存储库有N个角色.我是否创建了角色存储库来管理角色?我担心,如果我走这条路,我最终会创建几十个存储库(每个表几个,除了连接表).每个表的存储库是否常见?
c# design-patterns domain-driven-design repository linq-to-sql
我很惊讶我找不到这个问题,所以如果我错过了,请及时通知.
我需要在.NET中编写一个非常小的,相当简单的应用程序,它将由最终消费者下载并安装在他们的系统上.Silverlight的沙盒模型不起作用 - 它必须是一个完整的下载,安装的可执行文件.
这就是我所知道的:
我不知道的是:
我正在寻找最好的资源来填补我的知识空白.
有关
我开始使用apache CXF 2.1.5和xmlbeans来生成Web服务客户端.FAQ页面显示了如何使用jaxb绑定来java.util.Date绑定xsd:dateTime:
<jaxws:bindings wsdlLocation="YOUR_WSDL_LOCATION"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='THE_NAMESPACE_OF_YOUR_SCHEMA']">
<jxb:globalBindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:javaType name="java.util.Date" xmlType="xs:dateTime"
parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime"
printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/>
</jxb:globalBindings>
</jaxws:bindings>
</jaxws:bindings>
Run Code Online (Sandbox Code Playgroud)
我想使用xmlBeans绑定,但找不到合适的示例.我理解如何使用xmlbeans将xml文件映射到java对象,但我找不到要使用的语法cxf.任何指针,代码样本都是受欢迎的.
如何在rails中动态配置验证?例如,如果我有
validates_length_of :name, within => dynamic
Run Code Online (Sandbox Code Playgroud)
变量"dynamic"将由用户设置.在保存时,验证应使用变量"dynamic"的值来配置内部配置.
有没有我可以发送UDP数据包的免费服务,它会回应告诉我什么是我的"真正的"UDP端口?(我的申请是在NAT背后)
这种服务可以让我用普通的php托管制作一个p2p协调服务器.