释放MKMapView后,我发生了一次奇怪的(?)崩溃.MKMapView是我的视图控制器中的一个子视图,在我从导航堆栈中删除该视图并释放它后,应用程序崩溃:
...
#4 0x34196dc8 in -[MKMapView(UserPositioningInternal) locationManagerFailedToUpdateLocation:withError:]
#5 0x3417030c in -[MKLocationManager _reportLocationFailureWithError:]
#6 0x3416de94 in -[MKLocationManager locationManager:didFailWithError:]
#7 0x3205f538 in -[CLLocationManager onClientEventLocation:]
#8 0x3205dd5c in -[CLLocationManager onClientEvent:supportInfo:]
...
Run Code Online (Sandbox Code Playgroud)
处理我的视图时是否必须执行一些额外的步骤?
编辑: 在控制器的dealloc方法中将mapView.showsUserLocation设置为NO似乎有所帮助.问题仍然是 - 它是否有意?
我正在使用实体框架,它的实体用于数据库表示和业务对象.
因此,这意味着一些被操纵的实体应始终与上下文分离.
我设法从数据库读取和写入数据,但我在更新时遇到一个小问题:
我有一个表"Stock",它链接到一个表"Warehouse".
目前的过程是这一个(简化,但精神仍然存在,还有更多的领域):
这里的问题是,当我创建新的Stock对象并将其关联到Warehouse时,对象EntityState自动设置为"已添加".因此,当我执行SaveChanges()并且Stock已经存在时,该行被更新并添加了一个新的Stock行...
我想要的是保持新的Stock对象分离,直到我自己附加它.我不希望它自动发生.
我找到的唯一解决方案是在保存对象已经存在之前从上下文中分离新对象.
我也可以Detach()仓库对象,但这不是一个令人满意的解决方案,我认为在真实情况下有更多的项目需要关联,我不确定在他们身上使用Attach()和Detach()是个好主意.
在这种情况下,直到我自己"添加"它到上下文,该对象只是一个"传输"对象,我希望它不在上下文中.
关于如何保持Stock对象分离的任何想法?
代码(可能有点不正确,我是通过内存写的):
Stock stk = new Stock();
stk.Date = DateTime.Now;
stk.Volume = 100; //so far stk is "Detached" and that's cool.
stk.Warehouse = CurrentWarehouse; //stk become "Added" and that's less cool.
DAL.Stock.Instance.Save(stk);
Run Code Online (Sandbox Code Playgroud)
在Save()中:
var existing = (from s in Context.CurrentContext.Stock
where s.Warehouse.WarehouseId == stk.Warehouse.WarehouseId && s.Date == stk.Date && s.Type == 2
select s).FirstOfDefault();
if(existing != null)
{
existing.Volume = stk.Volume;
Context.CurrentContext.Detach(stk); …Run Code Online (Sandbox Code Playgroud) 我遇到了以下几行
hsb.s = max != 0 ? 255 * delta / max : 0;
Run Code Online (Sandbox Code Playgroud)
什么的?,并:在这方面是什么意思?
如何让用户在文本字段中使用'''(双引号)...
每当我在字段中使用双引号(值)时,在我的PHP文件中接收变量时:
$text=mysql_real_escape_string($_POST['subject']);
Run Code Online (Sandbox Code Playgroud)
然后回显它,我得到一个正确转义的字符串,但字符串在双引号之前停止!
我不希望它因为双引号而停止!
Javascript用于验证文本字段,因此它不是空的,也许我应该在验证时使用javascript做更多的事情,并改变值,所以php可以获得正确的值,包括双引号?
谢谢
UPDATE
码:
$headline= mysql_real_escape_string($_POST['headline']);
echo htmlentities($headline);
Run Code Online (Sandbox Code Playgroud)
我试过合并上面两个,只会给出相同的结果.注意:我已经尝试添加ENT_QUOTES到htmlentities功能...
输入的未格式化字符串:
+ , . ; : - _ space & % ! ? = # * ½ @ / \ [ ]< > " ' hej hej
Run Code Online (Sandbox Code Playgroud)
在回显它时会输出:
+ , . ; : - _ space & % ! ? = # * ½ @ / \\ [ ]< >
Run Code Online (Sandbox Code Playgroud) 我有课而不是让背景工作者做一些处理器密集型的东西.后台工作者读取一些全局声明的字符串...我是否需要锁定这些字符串?backgroundworker从不编写字符串,它们只是表示在类的构造函数中设置的一些目录位置,并且几乎不会在构造函数之后由类写入(并且永远不会被后台工作者写入).所以这是可能的后台工作能读,因为它也正在由主类对象写入,但不可思议的事的字符串.但是,这些操作(后台工作者的读取和主类的写入)对于字符串文字都不是原子的吗?
谢谢,-Robert
编辑:我不关心字符串是否过时或任何事情(这在我的应用程序中不会是一个大问题),我更担心的是"对象在其他地方使用"异常.
如何在Interface Builder 3.2.1中创建NSImageCell单元格(通常位于NSImageView中)的矩阵(NSMatrix对象)(即为Snow Leopard制作的?)
在"旧时代"中,您将拖动NSImageView,然后选择 - 拖动控件的一角.它似乎已经停止在3.2.1中工作......还有另外一种方法吗?难道我做错了什么?
我有来自某个来源的物品(来自其他地方):
public class ItemsFromSource{
public ItemsFromSource(string name){
this.SourceName = name;
Items = new List<IItem>();
}
public string SourceName;
public List<IItem> Items;
}
Run Code Online (Sandbox Code Playgroud)
现在在MyClass中,我有来自多个来源的项目(从其他地方填充):
public class MyClass{
public MyClass(){
}
public List<ItemsFromSource> BunchOfItems;
}
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以一次遍历BunchOfItems中所有ItemsFromSources中的所有Items?即,像:
foreach(IItem i in BunchOfItems.AllItems()){
// do something with i
}
Run Code Online (Sandbox Code Playgroud)
而不是做
foreach(ItemsFromSource ifs in BunchOffItems){
foreach(IItem i in ifs){
//do something with i
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用java和iReport(来自jasper)创建一个简单的报告程序,它应该用pdf创建一个报告,显示PC的IP地址,位置,此时是否空闲(由另一个系统处理),以及它目前所附的项目清单(也在其他地方管理).
我正在使用iReport这个问题,并创建了一个虚拟集合生成类,如下所示:
public class PCReports {
public static java.util.Collection PC_collection;
public static java.util.Collection generateCollection() {
PC_collection = new ArrayList<PCLineDTO>();
PCLineDTO line = new PCLineDTO();
line.setIP("192.168.1.1");
line.setLab("location");
line.setActive(true);
line.addProjectName("project1");
line.addProjectName("project2");
line.addProjectName("project3");
PC_collection.add(line);
line = new PCLineDTO();
line.setIp("192.168.1.2");
line.setLab("location2");
line.setActive(false);
line.addProjectName("project1");
line.addProjectName("project2");
PC_collection.add(line);
return PC_collection;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,实体类是:
public class PCLineDTO {
private String ip;
private String lab;
private Boolean active;
private ArrayList<String> projects;
}
Run Code Online (Sandbox Code Playgroud)
在一些互联网搜索之后,我找到了一种使用子报告做类似事情的方法.
问题是,我不知道如何打印作为dataSource传递给该子报表的字符串集合.
在我在Internet上找到的示例中,对于主集合中的每个项目,子报表都传递了一组对象 - 每个属性都有自己的getter方法 - 而不是像这里的情况那样的字符串集合.在这些情况下,他们通过我无法使用的iReport语法访问他们需要使用的值,例如:
$F{project}
Run Code Online (Sandbox Code Playgroud)
由于iReport在其接收的对象中查找包含的getProject方法,但在这种情况下,它是一个简单的String对象(没有getProject方法,因为它).
在桌面Qt应用程序中,我有一些GPS坐标,我想在地图上显示.我的计划是使用坐标构建一个URL,让网页浏览器和谷歌地图或类似的服务完成繁重的工作.
在阅读了一些明显的逆向工程文档之后
mapki.com slash wiki slash Google_Map_Parameters
Run Code Online (Sandbox Code Playgroud)
我可以让它适用于单点,但多点的URL语法是什么?
到目前为止,我最好的拍摄是建立一个像这样的字符串:
http://maps.google.com/?ie=UTF8&q=My+First+Point@59.591,17.82&q=My+Second+Point@59.592,17.82
但这只会显示"我的第二点".在某处有更好的语法描述吗?
用标记=替换q =不起作用,下面的"静态地图"建议仅抱怨不正确的API密钥.
Apple基础套件中是否提供了适当的结构来表示离散坐标系?我知道我可以只使用NSPoint的积分组件,按惯例保持它离散,甚至可以定义我自己的组件.
但是,如果已经有一个正确输入的我会更喜欢并避免隐式/显式类型的肮脏.