我有这样的设计:
public interface MyInterface {
public abstract List<Sth> getSth();
}
public class MyConcreteImplementation implements MyInterface {
private ConcreteSth mSth = new ConcreteSth();
public List<Sth> getSth(){
return mSth.getSth(additionalParams);
}
}
Run Code Online (Sandbox Code Playgroud)
上面代码的目的是提供从其他类调用的统一方法.
这可以称为模式吗?如果是这样如何命名呢?
我现在正在将FMDB用于iPhone应用程序,我发现它......好吧.这确实是一个很棒的SQLite包装器.
FMDB GitHub:https: //github.com/ccgus/fmdb
唯一的问题是我需要使用自定义功能.在SQLite中,我可以使用以下语法轻松完成此操作:
sqlite3_create_function(database, "custom", 4, SQLITE_UTF8, NULL, &customFunc, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
除了FMDB我不认为有办法使用自定义功能吗?
如我错了请纠正我.任何帮助将不胜感激.
我想知道Integer类是如何工作的:考虑一下
Integer number=2;
Run Code Online (Sandbox Code Playgroud)
这是否意味着,"Integer"类有一个如下所述的构造函数,它将int值存储在其中?请解释.
class Integer
{
int a;
public Integer (int a)
{
this.a=a;
}
}
Run Code Online (Sandbox Code Playgroud) 至少对我来说,jQuery以令人难以置信的方式改变了javascript,至少对于DOM操作/ ajax关注的问题.
现在我开始进入HTML 5,我想知道是否有任何库可以执行jQuery所做的事情,但对于html apis,例如数据库存储/检索,gps /位置等等.某种类型的包装器可以简化使用这种技术的发展.
谢谢!
我有一个cpp静态库,并尝试将其包装在一个静态的obj-c库中,以便它从外部看起来像一个普通的obj-c lib.我的obj-c lib编译得很好,但是当我尝试在App中使用这个lib时,我得到以下链接器错误:
Apple Mach-O Linker (Id) Error
Undefined symbols for architecture i386:
"operator new(unsigned long)", referenced from:
...
Run Code Online (Sandbox Code Playgroud)
所有libs都可以在每个需要的架构中编译好.
我的包装器lib看起来像这样:
ObjcLib.h
@interface ObjcLib: NSObject{
}
- (void) doSomething:(NSString*)text;
@end
Run Code Online (Sandbox Code Playgroud)
ObjcLib.mm
#import "ObjcLib.h"
#import "apiFromCppLib.h"
@interface ObjcLib (){
@private
cppApiNamespace::BaseApi* api;
}
@end
@implementation ObjcLib
- (void) doSomething:(NSString*)text{
api = new cppApiNamespace::BaseAPI();
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我在Link Binary With Libraries下添加了ObjcLib.a.库搜索路径也是正确的,但是当我尝试用[ObjcLib alloc]创建一个对象时,我得到了上面提到的链接器错误.我正在使用XCode4和LLVM编译器3.0
希望任何人都可以给我一个提示可能是错误的提示,或者我的包装是否正确.
编辑:在应用程序的构建设置中添加-lstdc ++作为其他链接器标志解决了许多链接器错误,但不是全部.解决的问题是ObjcLib.h和ObjcLib.mm中的cpp命令.保留的是来自BaseAPI的一些方法调用.我们将仔细研究一下这个方法调用与正确链接的其他方法的不同之处.
这是我的代码:
let go thriller =
work.ListPos.Clear()
thriller
work.Thread.Start()
member X.Start() =
work.ListPos.Add <| new Packet( connector.Authorize("admin","1") ) |> go
Run Code Online (Sandbox Code Playgroud)
所以它不起作用.我用这样的参数包装器:
let inconnection thriller =
using <| new SqlConnection(insql) <| fun X -> X.Open(); thriller X;
inconnection <| fun X ->
Run Code Online (Sandbox Code Playgroud)
我不能这样使用它没有参数因为我没有X(参数)但如何创建没有参数的lambda?
谢谢.
我有一个枚举,我希望将其作为某种值保存到底层数据库中,以便我可以来回传递它.
我已经阅读了一些建议创建枚举包装器的文章,其中定义了静态隐式运算符,使用ComplexType对象映射进行映射,如下面的链接所述.
这个解决方案完美无瑕!我要感谢Alex James.
除此之外,我发现了EnumDataTypeAttribute Class哪个目的似乎通过实体框架处理枚举持久性.我试了一下它似乎根本没用.这是一个代码示例.
public enum StreetDirection {
East
, None
, North
, NorthEast
, NorthWest
, South
, SouthEast
, SouthWest
, West
}
public enum StreetType {
Avenue
, Boulevard
, Court
, Crescent
, Drive
, Hill
, None
, Road
, Street
}
public class StreetTypeWrapper {
public int Value {
get {
return (int)t;
}
set {
t = (StreetType)value;
}
}
public StreetType EnumValue {
get …Run Code Online (Sandbox Code Playgroud) Integer i = null;
if (i == 3)
Run Code Online (Sandbox Code Playgroud)
为什么上面的第二行抛出一个NullPointerException,恕我直言,这只有一个含义,即Wrapper Object i将被取消装箱,产生异常,例如:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(null);
int x = list.get(0);
Run Code Online (Sandbox Code Playgroud)
编辑:你能为我提供一些格式的文件吗?
我试图用div包装选定的id组,并用不同的一个包装其他组,但不太确定它应该如何工作.
我有以下HTML代码:
<div class="wrapper">
<div id="block_1">
<div class="post">
</div>
</div>
<div id="block_2">
<div class="post">
</div>
</div>
<div id="block_3">
<div class="post">
</div>
</div>
<div id="block_4">
<div class="post">
</div>
</div>
<div id="block_5">
<div class="post">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
并且想要使用Jquery使用另一个div包装两个不同的集合,如下所示:
<div class="wrapper">
<div class="wrapright">
<div id="block_1">
<div class="post">
</div>
</div>
<div id="block_4">
<div class="post">
</div>
</div>
<div id="block_5">
<div class="post">
</div>
</div>
</div>
<div class="wrapleft">
<div id="block_2">
<div class="post"></div>
</div>
<div id="block_3">
<div class="post"></div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
正如你看到的,我想包装block 1,4,5与class="wrapright"和包裹块2,3与class="wrapleft"
有没有Jquery方式,我可以做到这一点!我找到了一些方法,但都是单套,而不是多个...... …
所以,我一直在撞墙直到看起来应该是一个简单的数据转换.我在python中编写并将一个十六进制值传递给另一个模块,该值使用包装器转换为c类型uint_64t.问题是我通过python库argparse得到这个十六进制值.当它接受此值时,例如,让我们使用值0x3f,它将其保存为字符串.如果我尝试将其转换为int,则会抛出错误:
"ValueError: invalid literal for int() with base 10: '0x3f'"
Run Code Online (Sandbox Code Playgroud)
如果我创建一个变量hex = 0x3f但是,当我打印出来时,它给了我适当的整数值.(这是很好的,因为我正在创建一个uint)我很困惑如果转换不起作用如何从字符串转换为int.我已经看到很多关于将此字符串逐字母转换为十六进制值的示例(换句话说,将ascii字符串'0x3f'的每个字符都赋予它并给它一个十六进制值)但是我还没有找到一个示例我正在寻找的情况.如果我提出一些经常被回答的事情,我会道歉.
wrapper ×10
java ×3
objective-c ×2
attributes ×1
boxing ×1
c++ ×1
enums ×1
expression ×1
f# ×1
fmdb ×1
hex ×1
html ×1
html5 ×1
iphone ×1
javascript ×1
jquery ×1
persistence ×1
provider ×1
python ×1
sqlite ×1
string ×1
xcode4 ×1