假设我的应用程序状态被提取到一个对象中(以便所有特定于app实例的信息都包含在一个对象中),并且该对象支持nscoding协议.如何轻松地保留它并在我的应用程序的退出/启动时加载它?
我目前的代码看起来像这样
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
State* state = (State*)[defaults objectForKey:@"State"];
if(state!=nil)
{
viewController.state = state;
}
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.viewController.state forKey:@"State"];
}
Run Code Online (Sandbox Code Playgroud)
但是加载状态总是为零...所以我认为它不是那里最好的模式:)
事实证明,NSUserDefaults仅支持属性列表对象,如NSArray,NSData等...除非您将其包装在nsdata中,否则不会自定义对象
我试图设计一种将数学方程表示为Java对象的方法.这是我到目前为止所提出的:
- 扩展Term的对象将包括诸如TrigTerm之类的东西来表示三角函数.
方程
总的想法是我能够以编程方式操纵方程式(例如,一个能够返回方程式的方向式方法,这个方程式是它所要求的方程式的导数,或者是一种评估方程式的方法变量等于某个值).
我对简单方程式的效果很好:

这只是两个Term s:一个带有变量"x"和一个指数"2",另一个带有一个常量"3".
但对于更复杂的方程式而言并非如此:

是的,这是一个可怕的例子,但我只是说明一点.
那么现在问题是:将数学方程表示为Java对象的最佳方法是什么?有没有图书馆已经这样做了?
我已经UIView设置了一个opaque = NO并且一切正常.在drawRect我正在做自定义绘图,这是有效的
CGContextSetFillColor(context, CGColorGetComponents([UIColor blueColor].CGColor));
CGContextFillRect(context, labelOutside);
CGContextAddRect(context, labelOutside);
Run Code Online (Sandbox Code Playgroud)
但是这个
CGContextSetFillColor(context, CGColorGetComponents([UIColor whiteColor].CGColor));
CGContextFillRect(context, labelOutside);
CGContextAddRect(context, labelOutside);
Run Code Online (Sandbox Code Playgroud)
结果是没有填充(你甚至可以通过它看到我在CGContext上绘制的其他东西).我怎样才能画出白色填充物?
注意:如果我设置控件不是不透明的,它仍然不起作用.
有没有办法将下标和上标添加到同一个元素?如果我做
Sample Text<sub>Sub</sub><sup>Sup</sup>
Run Code Online (Sandbox Code Playgroud)
上标出现在下标之后.我有一个想法是做一些像:
<table>
<tr>
<td rowspan='2' valign='center'>Sample Text</td>
<td>Sup</td>
</tr>
<tr>
<td>Sub</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
它似乎做了这项工作,但非常难看.有更好的想法吗?
谢谢!
创建引用Microsoft软件包的Internet下载引导程序的最佳实践是什么?
例如,InstallShield有一个安装程序先决条件,可以通过go.microsoft.com/fwlink链接ID从Microsoft.com下载vstor40_x86.exe,该链接ID解析为该EXE的下载URL.InstallShield没有为vstor40_x64.exe创建PRQ,我需要创建一个PRQ.我找到了包含x86/x64.exe下载链接的Microsoft页面,但是我找不到解析为x64的fwlink ID.
微软在这方面的立场是什么?他们是否在任何地方记录了fwlink ID,他们是否希望我们链接到Microsoft,以便他们可以控制可用性,或者这是一种不好的做法,只是从微软中解脱出来?
撕毁我的头发试图让Android ListView做我想要的.
我希望在单选模式下有一个ListView,其自定义行布局具有不同的背景颜色,用于选择,按下和检查(即选择以颜色而不是复选标记显示 - 这就是我通常所说的"选择",但在我按下它之前选择在android中似乎我要选择
我想过尝试一个背景选择器,里面有三个状态.它适用于state_selected和state_pressed,但不适用于state_checked.所以我创建了一个CheckableRelativeLayout,它扩展了RelativeLayout并实现了Checkable并用于每一行的视图.
这里显示的是简化版本:
<my.package.CheckableRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bkg_selector">
>
<ImageView android:id="@+id/animage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
/>
</my.package.CheckableRelativeLayout>
Run Code Online (Sandbox Code Playgroud)
bkg_selector看起来像
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/purple" />
<item android:state_checked="true" android:drawable="@drawable/red" />
<item android:state_selected="true" android:drawable="@drawable/darkpurple" />
<item android:drawable="@drawable/black" />
</selector>
Run Code Online (Sandbox Code Playgroud)
颜色在别处定义.
这仍然无效.所以在自定义ListAdapter中我跟踪了"已检查"行并尝试了(在getView中)
if(position == checkedPosition)ret.getBackground().setState(CHECKED_STATE_SET);
它仍然不起作用.我怎样才能让它做我想做的事情?
我有一个带有 onclick 属性的 asp:button,可以发回服务器。我想在触发回发之前对文本框的内容进行一些验证。我想使用一些正则表达式在 javascript 中进行验证。
我无法使用 asp:XXXXvalidator; 由于我的网络应用程序的功能,我无法做到这一点。
有没有办法从 asp:button 调用 javascript 函数,然后调用回发?
我知道我可以使用 OnClientClick 从 asp:button 调用 js,但是一旦我调用 JS,我如何发出信号表明我要回发按钮?
你可以创建新的对象,但是当你使用它们时,也没有真正的方法可以立即销毁它们吗?
为什么每个OOP运行时都没有实现这样的行为?
我确信我们开发人员可以(通常)组织对象实例在我们使用它们时被销毁.
function work(){
var p1:Point = new Point(x, y);
var p2:Point = new Point(x2, y2);
....
destroy p1;
destroy p2;
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个基本的游戏引擎并且有一个抽象类来表示可以在3D世界中绘制的任何对象,但是在这个类中是一个抽象方法Render()我想在每个绘制阶段由引擎自动调用.我怎么能实现这个,以便从我的抽象类扩展的每个类都会自动调用Render()?
我正在使用java,android sdk 2.2和opengl es.