大家好几年读StackOverflow,现在我决定加入.我正在努力解决这个问题:
我有一个"仓库"实体,它有两对多的关系"人"和"卡车".我想观察一下,给定一个"Depot"对象,其中一个关系中有变化(插入,删除)(并理解其中一个).
目前我这样做:
[mydepot addObserver:self forKeyPath:@"Trucks" options:NSKeyValueObservingOptionNew context:nil];
和
[mydepot addObserver:self forKeyPath:@"Persons" options:NSKeyValueObservingOptionNew context:nil];
但是每当两个相关集合中的某个集合发生变化时,observeValueForKeyPath就会被调用两次(每个密钥路径一次).
我做错了吗?查看"更改"字典,(与OptionOld一起观察)显示没有意外的变化(当我改变人员时,卡车没有改变),但仍然提出通知.
谢谢,彼得罗
编辑:似乎两次"更改"字典都包含"新"字段中的整个关系.(显然有一次人和一次卡车)
edit2:因为它甚至保留了简单的属性,它是否与managedctx保存操作有关?好像在保存时,整个对象被认为已经改变了..
Image from origin 'http://192.168.1.67:5555' has been blocked from loading by Cross-Origin Resource Sharing policy: Invalid response. Origin 'http://127.0.0.1:8000' is therefore not allowed access.
我需要允许此MJPEG流的交叉原点,因为用户必须能够使用按钮捕获图像而没有CORS画布被污染.
我在FF和Chrome中遇到了这个问题(IE使用不同的视频源,因为它不支持MJPEG).
我的服务器也在返回Access-Control-Allow-Origin: *页面时返回.src设置后,图像将在Javascript中设置(如果可能相关)img.crossOrigin = "Anonymous";.如果我删除crossOrigin="Anonymous",流加载但我得到污染的画布错误.
谢谢编辑:来自wireshark,MJPEG请求:
GET /2d HTTP/1.1
Host: 192.168.1.67:5555
Connection: keep-alive
Accept: image/webp,image/*,*/*;q=0.8
Origin: http://127.0.0.1:8000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36
Referer: http://127.0.0.1:8000/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,it;q=0.6,pt;q=0.4
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: Content-Type …
在应用程序初始化时,我从数据库动态加载 URL,将它们添加到app.add_url(). 由于行为类似于 CMS,我的用户可以删除或更改某些页面的 url,因此我有时需要删除映射或重新加载所有 url 映射。
有谁知道这样做的方法?
谢谢