小编Pro*_*ody的帖子

Cocoa-Touch:我如何看待两个NSD在同一天?

我需要知道两个NSDate实例是否都来自同一天.

有没有比获得NSDateComponents和比较日/月/年更容易/更好的方法呢?

macos cocoa-touch objective-c ios

67
推荐指数
7
解决办法
2万
查看次数

为什么iOS上的Safari没有显示我的HTML5视频海报?

我有这个网页:
http://healthpad.net/dashboard/
它有10个<video>元素.

出于某种原因,当我在iPad上加载页面时,它没有显示视频海报.

请尝试以下方法:

  1. 在桌面浏览器上加载页面
  2. 将它加载到iPad或iPad模拟器上,你会得到一个带有播放按钮的大黑盒子

图片

请告诉我为什么会这样?

这是我已经排除的:

图像内容类型标题.
我已经验证了图像内容类型标题已正确设置.在上面的示例中,Content-Type标头正确image/jpeg.

对video.js库的干扰
VideoJs用于在桌面浏览器上显示漂亮的播放按钮并自定义控件.但是,此库不会干扰本机播放器.
为了确保,我创建了一个没有video-js类的测试视频页面,因此该库不会拾取和处理该视频.事实上,测试页面甚至不包含任何JS库,它只是

<html><body>
    <video
        controls
        height="400"
        width="600"
        poster="http://healthpad.net/media/CACHE/images/uploads/video_poster_1414/bd5fba5a68ddd0f4b3f61193f6908962.jpg"
        src="http://healthpad.net/media/uploads/video_processed_720p_1414.mp4"
    ></video>
</body></html>
Run Code Online (Sandbox Code Playgroud)

http://healthpad.net/rj_templates/test/zzz/

使用Mobile Safari可能不支持的任何视频属性
上面的测试页面只有一个普通的视频标签.我已经尝试删除除了src和之外的所有其他属性poster,它没有帮助.

关于该主题的大多数StackOverflow问题只是说"重启你的iPad"

这是奇怪的地方:

如果您对此进行谷歌搜索,已经接受的StackOverflow上的答案通常会说"重启您的iPad,这对我来说就是这样".

所以我尝试过做同样的事情,起初我只是说它在我的情况下不起作用.

然后,我尝试了这个:(
iPad模拟器上的所有以下内容)

  1. 去网站,视频海报不显示
  2. 转到测试页面(http://healthpad.net/rj_templates/test/zzz/),视频海报不显示.
  3. 单击主页以退出Safari(或模拟器的Cmd + Shift + H mac快捷方式)
  4. 双击主页按钮以获取Safari外部的任务切换器,点击并按住Safari图标,直到显示终止按钮.
  5. 杀死Safari
  6. 打开野生动物园(重新启动).此时,如果您加载测试页面(只有一个视频),海报将会显示.
  7. 现在转到多视频页面:(http://healthpad.net/dashboard/).视频海报不显示.
  8. 回到单视频测试页面,那个视频海报也不再适用.
  9. 重复步骤3到8,查看视频海报何时停止工作的过程.

显然,在某些时候,Mobile Safari决定不再展示任何视频海报.此外,显然,我的网站触发了这种情况.

澄清:

当海报不再有效时,它不仅会出现在一个域上,也不会为任何其他网站加载任何视频海报,无论它是否位于一个完全不同的域上(例如来自http://www.videojs的演示视频).com /).

为了重置这种行为,从我看到的,你必须杀死并重新启动Safari.关闭并重新打开它不会重置此状态.

有谁知道为什么会这样?有办法解决它吗?

mobile-safari ipad html5-video ios

33
推荐指数
2
解决办法
2万
查看次数

CoreData:"悬挂对无效对象的引用".错误

我正在开发一个Cocoa-Touch应用程序,它使用CoreData并且有一些由XCode模型编辑器生成的NSPersistentObject子类.

我注意到最近,当保存上下文时,我得到一个错误,其中包含以下部分的用户信息:

(gdb) po ui {
    "Dangling reference to an invalid object." = <null>;
    NSAffectedObjectsErrorKey = <dump #1 of someObject>;
    NSLocalizedDescription = "Operation could not be completed. (Cocoa error 1550.)";
    NSValidationErrorKey = <someKey pointing to someObject #1>;
    NSValidationErrorObject = <dump #2 of someOtherObject which points to the dump #1 object>;
    NSValidationErrorValue = { <list of someMoreObjects> };
}
Run Code Online (Sandbox Code Playgroud)

用户信息字典中还有其他键.

我得到的所有转储都是有效的对象,我已经验证了所有这些.

NSValidationErrorObject是其具有的对象NSSet包含在倾倒类型的对象NSAffectedObjectsErrorKeyNSValidationErrorValue.但所有这些对象都是有效的.

此外,这是随机发生的,有时会发生,有时不会发生,有时倾倒的列表NSValidationErrorValue更长,有时更短.

我不知道为什么会发生这种情况,或者究竟是什么错误.有谁知道发生了什么?什么可能导致这个奇怪的错误?

iphone cocoa-touch core-data

25
推荐指数
4
解决办法
1万
查看次数

如何在PHP中定义效率?

C++预处理器#define完全不同.

PHP define()与创建var有什么不同吗?

define("SETTING", 0);  
$something = SETTING;
Run Code Online (Sandbox Code Playgroud)

VS

$setting = 0;  
$something = $setting;
Run Code Online (Sandbox Code Playgroud)

php c-preprocessor

20
推荐指数
3
解决办法
2万
查看次数

在ajax请求中处理会话超时的最佳方法是什么?

考虑这个Django视图,它将获得与当前用户关联的项目列表:

@login_required
def list_items(request, page_number=0):
    items = Paginator(request.user.items, 5).page(page_number).object_list
    return HttpResponse(cjson.encode(items))
Run Code Online (Sandbox Code Playgroud)

显然,它希望使用login_required装饰器来限制对登录用户的视图的访问.

login_required当未经身份验证的用户尝试访问视图时,该怎么办?它返回一个HttpResponseRedirect朝向settings.LOGIN_URL.

考虑这个调用视图的JavaScript代码:

var getPage = function(pageNumber) {
    $.ajax({
        url: "/list_items/" + pageNumber + "/",
        success: function(data) {
            $("#list_container").html(formatData(data))
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

假设settings.SESSION_COOKIE_AGE = 60秒.

如果用户转到第1页,读取它61秒,然后单击第2页的按钮,Django的login_required装饰器将检测到会话不再活动,并将返回a HttpResponseRedirect(settings.LOGIN_URL),这将导致success回调获得HTML登录页面而不是JSON编码列表.

这就是它发生的地方.
user_passes_test在这里被称为.

处理这个问题的最佳方法是什么?

这是我想到的一些事情:

1.success回调应检查响应,并看它是否得到一个登录页面,以任何方式(检查内容类型为HTML,检查内容等).但这意味着我们必须使用回调包装器包装所有AJAX调用,如下所示:

    $.ajax({
        url: "/list_items/" + pageNumber + "/",
        success: sessionExpiryCallbackWrapper(function(data) {
            $("#list_container").html(formatData(data))
        })
    });
Run Code Online (Sandbox Code Playgroud)

但这很丑陋,开发人员可能忘记在任何地方都这样做.

2.使用$.ajaxComplete来处理所有的请求. …

django jquery

13
推荐指数
1
解决办法
1万
查看次数

使用lxml在XML文档中处理类似实体的最佳方法是什么?

考虑以下:

from lxml import etree
from StringIO import StringIO

x = """<?xml version="1.0" encoding="utf-8"?>\n<aa>&nbsp;&acirc;</aa>"""
p = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
r = etree.parse(StringIO(x), p)
Run Code Online (Sandbox Code Playgroud)

这将失败:
lxml.etree.XMLSyntaxError: Entity 'nbsp' not defined, line 2, column 11

这是因为resolve_entities=False不会忽略它们,它只是不解决它们.

如果我使用etree.HTMLParser它,它会创建htmlbody标记,以及它试图做的许多其他特殊处理HTML.

使用lxml &nbsp;&acirc;aa标记下获取文本子项的最佳方法是什么?

python lxml

12
推荐指数
2
解决办法
1万
查看次数

PHP关闭是否被破坏或者我错过了什么?

我一直在阅读PHP 5.3的新功能,其中一个主要功能是闭包.

除非我非常错误,否则PHP开发人员要么:
a)使用匿名函数来混淆闭包
b)在我测试的PHP 5.3.1中,闭包被破坏了

维基百科所说的闭包是匿名函数的机制加上函数的父范围变量与函数范围的绑定.最后一部分似乎在PHP中被打破了.

我已经检查了PHP错误,并没有发现任何关于这个,奇怪的是.

这是我正在测试的方式:

<?php

function getFun() {
    $x = 2;
    return function() {
        return $x;
    };
}
$f = getFun(); // getFun()(); doesn't work -.-
var_dump($f()); // $f() == null
Run Code Online (Sandbox Code Playgroud)

在实际实现闭包的语言中,它返回2:

def f():
    x = 2
    return lambda: x
print(f()()) # prints 2
Run Code Online (Sandbox Code Playgroud)

alert((function() {
    var x = 2;
    return function() {
        return x;
    };
})()()); // alerts 2
Run Code Online (Sandbox Code Playgroud)

那么,我错了还是?

php closures

8
推荐指数
1
解决办法
539
查看次数

Eclipse编码转换

有谁知道任何eclipe插件,让您轻松更改和使用文件编码?我有时需要编辑模板文件做小调整,但文件有时是ISO,有时是UTF8,有时是其他文件,所以使用eclipse会导致灾难:)

eclipse

7
推荐指数
3
解决办法
6763
查看次数

什么是设计的术语ala"object.method1().method2().method3()"?

这个设计的术语是什么?

object.method1().method2().method3()
Run Code Online (Sandbox Code Playgroud)

..当所有方法都返回*这个?

我不久前找到了这个术语,但同时失去了它.我不知道如何在谷歌搜索这个:)如果有人能想到一个更好的标题的问题,随时改变它.

谢谢

更新-Gishu:阅读之后,我觉得你的问题是误导的wrt代码片段..(随意回滚)

方法链接

object.method1().method2().method3()
Run Code Online (Sandbox Code Playgroud)

流畅的界面

private void makeFluent(Customer customer) {
        customer.newOrder()
                .with(6, "TAL")
                .with(5, "HPK").skippable()
                .with(3, "LGV")
                .priorityRush();
    }
Run Code Online (Sandbox Code Playgroud)

c++

6
推荐指数
3
解决办法
519
查看次数

Python模型对象验证

我正在编写一个由两个应用程序使用的接口.此接口应使用一些DoSomethingRequestDoSomethingResponse类来进行通信.

是否有任何库进行模型验证,例如Django的Model

我基本上希望能够这样说:
对象A必须具有str()类型的"text"属性,int()类型的"number"属性,list()类型的"items"属性.干嘛.

我正在寻找以下或更好的东西:

class MyEmbeddedModelClass(EmbeddedModel):
    text = TextField(required = True)

class MyModel(Model):
    text = TextField(required = True)
    number = IntField(default = 0)
    items = ListField(EmbeddedModel)


a = MyModel()
a.text = "aaaa"
a.number = 1
a.items = [
    MyEmbeddedModelClass("bbbb"),
    MyEmbeddedModelClass("cccc"),
    MyEmbeddedModelClass("dddd")
]
a.validate()
Run Code Online (Sandbox Code Playgroud)

我知道我可以自己编写,但如果可用,我宁愿使用库,我对此有点新鲜.

python

6
推荐指数
1
解决办法
2450
查看次数