问题列表 - 第29123页

返回后释放对象

我使用一个对象来获取一些值并返回这个值.将返回的值仍在此对象中.下面是代码:

    XMLErrorParser *xmlErrorParser = [XMLErrorParser alloc];
    [xmlErrorParser parseData: data];
    return xmlErrorParser.errors;
Run Code Online (Sandbox Code Playgroud)

那么如何释放xmlErrorParser对象并返回它的值呢?谢谢.

iphone memory-management objective-c ios

0
推荐指数
1
解决办法
183
查看次数

实体框架:虽然列具有默认值,但必须进行映射?

我正在尝试基于旧版SQL Server 2008数据库创建一个Entity Framework 4模型.由于该模型将在Web服务中发布,因此我需要省略一个名为NewsletterSubscribed的整数列,该列来自模型的一个实体.

删除EF设计器中的列后,我得到以下编译错误:

Error   59  Error 3023: Problem in mapping fragments starting at line 356:Column Users.NewsletterSubscribed in table Users must be mapped: It has no default value and is not nullable.
    C:\Users\Adrian\Documents\Sites\Zeiterfassung\Zeiterfassung\API\V1\EFModel.edmx 357 15  Zeiterfassung
Run Code Online (Sandbox Code Playgroud)

但该列似乎绑定了默认值0.我尝试对数据库运行此SQL语句:

ALTER TABLE [dbo].[Users] ADD  DEFAULT ((0)) FOR [NewsletterSubscribed]
Run Code Online (Sandbox Code Playgroud)

但那也失败了:

消息1781,级别16,状态1,行3列已经绑定了DEFAULT.消息1750,级别16,状态0,行3无法创建约束.查看以前的错误.

所以要么列没有默认值(在这种情况下我不知道为什么我不能创建一个),或者Entity Framework没有看到它.到底是怎么回事?

谢谢,

阿德里安

t-sql sql-server entity-framework

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

iPhone SDK:请解释为什么"nil =="与"== nil"不同

我已经为iPhone SDK编程了大约6个月,但我对一些事情感到有些困惑......其中一个我在这里问:

为什么以下方面有所不同?

if (varOrObject == nil)
{

}
Run Code Online (Sandbox Code Playgroud)

VS

if (nil == varOrObject)
{

}
Run Code Online (Sandbox Code Playgroud)

来自perl背景,这让我感到困惑......

有人可以解释为什么两个(第二个)中的一个是真的,而如果两个例程在代码中一个接一个地放置,则第一个不会. varOrObject这两个if陈述之间不会发生变化.

没有特定的代码发生在这里,只是我已经在很多地方读过两个语句不同,但不是为什么.

提前致谢.

c iphone null objective-c

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

减少PHP字符串的长度并插入省略号

我想把一个很长的字符串reallyreallyreallyreallyreallylongfilename变成类似的东西reallyreallyre...yreallyreally.

基本上,找到字符串的中间并替换那里的所有内容,直到字符串的长度<30个字符,包括一个椭圆来表示已经替换了部分字符串.

这是我试过的代码:

function cutString($input, $maxLen = 30)
{
    if(strlen($input) < $maxLen)
    {
        return $input;
    }

    $midPoint = floor(strlen($input) / 2);
    $startPoint = $midPoint - 1;

    return substr_replace($input, '...', $startPoint, 3);
}
Run Code Online (Sandbox Code Playgroud)

它找到了字符串的中心并替换了一边的字符,.但事情是我无法弄清楚如何将其剪切为30个字符,或者其他什么$maxLen.

希望你理解我的问题,我认为我没有很好地解释它8)

谢谢.

php string trim ellipsis

5
推荐指数
1
解决办法
1973
查看次数

撤消R中的命令

我无法在R中找到撤销命令的效果(既不是R的简介也不是Nuts的R).在处理交互式图形时,我特别感兴趣的是撤消/删除.

你建议采用什么方法?

r

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

如何知道文本框何时更改(无需等待模糊)?

我有一个<input>文本框.

我希望在修改后调用一个函数.change事件的默认行为是仅触发blur,但我需要在文本框的文本更改后立即调用我的函数,并且不能等待blur.

我不确定最好的方法.我想过可能会处理keydown然后测试keyCode的值以获得一个可以修改该值的键.所以......忽略箭头键等等.但这看起来很尴尬,我认为我不能找出让它起作用的测试.

我还考虑记录初始值并与此值进行比较,但是当值更改回原始值时,我不会收到通知.

也许有更好的方法?

我很感激任何建议.

javascript jquery

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

虚拟课程:做得对吗?

我一直在阅读描述类继承,抽象基类甚至python接口的文档.但没有什么能成为我想要的东西.即,构建虚拟类的简单方法.当调用虚拟类时,我希望它根据给出的参数实例化一些更具体的类,并将其交给调用函数.现在我有一种将虚拟类的调用重新路由到底层类的简要方法.

这个想法如下:

class Shape:
    def __init__(self, description):
        if   description == "It's flat":  self.underlying_class = Line(description)
        elif description == "It's spiky": self.underlying_class = Triangle(description)
        elif description == "It's big":   self.underlying_class = Rectangle(description)
    def number_of_edges(self, parameters):
        return self.underlying_class(parameters)

class Line:
    def __init__(self, description):
        self.desc = description
    def number_of_edges(self, parameters):
        return 1

class Triangle:
    def __init__(self, description):
        self.desc = description
    def number_of_edges(self, parameters):
        return 3

class Rectangle:
    def __init__(self, description):
        self.desc = description
    def number_of_edges(self, parameters):
        return 4

shape_dont_know_what_it_is = Shape("It's big")
shape_dont_know_what_it_is.number_of_edges(parameters) …
Run Code Online (Sandbox Code Playgroud)

python virtual inheritance class abstract

11
推荐指数
2
解决办法
8802
查看次数

如何从subprocess.Popen.stdout(非阻塞)中读取所有可用数据?

我需要一种方法来读取Popen创建的流中所有当前可用的字符,或者找出缓冲区中剩余的字符数.

Backround:我想用Python远程控制交互式应用程序.到目前为止,我使用Popen创建了一个新的子进程:

process=subprocess.Popen(["python"],shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE, cwd=workingDir)
Run Code Online (Sandbox Code Playgroud)

(我不是真正启动python,但实际的交互式界面是类似的.)目前我读取1个字节,直到我检测到进程已到达命令提示符:

output = ""
while output[-6:]!="SCIP> ":
    output += process.stdout.read(1)
    sys.stdout.write(output[-1])
return output
Run Code Online (Sandbox Code Playgroud)

然后我开始一个冗长的计算process.stdin.write("command\n").我的问题是,我无法检查计算是否已经完成,因为我无法检查流中的最后一个字符是否是提示.read()或者read(n)阻止我的线程,直到它到达EOF,它永远不会,因为交互式程序在被告知之前不会结束.以上述循环方式查找提示也不起作用,因为提示只会在计算后发生.

理想的解决方案将允许我从流中读取所有可用字符,并立即返回空字符串,如果没有任何内容可读.

python subprocess

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

嵌套AJAX查询的"XMLHttpRequest异常101"

我在javascript中解析我正在解析的二进制文件的AJAX.(Quake 2 BSP,如果有人关心的话.)获取和解析初始文件的代码工作正常,看起来大致如下:

function loadFile(url) {
    var request = new XMLHttpRequest();

    request.onreadystatechange = function () {
        if (request.readyState == 4 && request.status == 200) {
            var parsed = parseFile(request.responseText);
        }
    };

    request.open('GET', url, true);
    request.overrideMimeType('text/plain; charset=x-user-defined');
    request.setRequestHeader('Content-Type', 'text/plain');
    request.send(null);
}
Run Code Online (Sandbox Code Playgroud)

正如我所说,这很好,一切都正确加载和解析.但是,该文件还描述了需要检索的几个辅助文件(纹理),因此我添加了一个内部循环,应该加载并解析所有这些文件,如下所示:

function loadFile(url) {
    var request = new XMLHttpRequest();

    request.onreadystatechange = function () {
        if (request.readyState == 4 && request.status == 200) {
            var parsed = parseFile(request.responseText);
            for(var i = 0; i < parsed.files.length; ++i) {
                loadSecondaryFile(parsed.files[i].url); // Request code …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

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

预期分段错误,只要为索引1分配值?

在代码片段中,一旦尝试为其分配值,我就预料到了分段错误count[1].然而,代码继续并执行第二个for循环,仅在程序终止时指示分段错误.

#include <stdio.h>

int main()
{
        int count[1];
        int i;

        for(i = 0; i < 100; i++)
        {
                count[i] = i;
        }
        for(i = 0; i < 100; i++)
        {
                printf("%d\n", count[i]);
        }
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释发生了什么吗?

编辑的原因: 根据用户的评论改进了示例代码 int count[0] -> int count[1],也避免了火焰战争.

c memory arrays memory-management segmentation-fault

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