小编Lei*_*eif的帖子

Objective C/iOS:使用ARC(内存泄漏)释放内存

我是新手iOS/Objective-C,我不理解正确释放内存.为了测试它,我创建了一个空的ARC启用iPhone-Project并创建了一个非常简单的测试类:

#import "MemTest.h"

@implementation MemTest {

}

-(void) start {
    for (int i = 0; i < 1500000; i++) {
        NSMutableString *myString = [NSMutableString string];

        // The appended string is 2000 characters long in the real test class.
        [myString appendString:@"12345678901234567890123456 <very long>"];

        if (i % 1000 == 0) {
            NSLog(@"i = %d", i);
        }

        myString = nil;
    }
}

@end
Run Code Online (Sandbox Code Playgroud)

我只是开始测试AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    MemTest *test = [[MemTest alloc] init];
    [test …
Run Code Online (Sandbox Code Playgroud)

memory-leaks objective-c ios automatic-ref-counting

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

Smarty模板:如何更改子模板中块的顺序?

我想在使用父块的内容时更改子模板中父块的顺序.

例:

父模板:

{block outer}
    {block a} ... some long content ...{/block}
    {block b} ... some long content ...{/block}
    {block c} ... some long content ...{/block}
{/block}
Run Code Online (Sandbox Code Playgroud)

儿童模板:

{extends file="parent:parent.tpl"}
{block outer}
    {block c} reuse content of parent block "c" {/block}
    {block b} reuse content of parent block "b" {/block}
    {block a} reuse content of parent block "a" {/block}
{/block}
Run Code Online (Sandbox Code Playgroud)

我尝试使用{$smarty.block.parent}内部块a,b和c:

{extends file="parent:parent.tpl"}
{block outer}
    {block c} {$smarty.block.parent} {/block}
    {block b} {$smarty.block.parent} {/block}
    {block a} {$smarty.block.parent} {/block}
{/block} …
Run Code Online (Sandbox Code Playgroud)

php templates smarty shopware

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

为什么推动将float属性转换为字符串?

我只是注意到,推进将数值转换为生成的setter方法中的字符串.我的问题是,因为我使用德语语言环境,浮点值插入逗号而不是点.例如:"3.5"产生字符串"3,5".我正在使用PostgreSQL,显然期望3.5.

版本信息: 如果它是相关的,我使用:PHP 5.3.9,Propel 1.6与Symfony 2.2.

细节:

表定义如下所示:

<table name="account_entry">
    ...
    <column name="amount" type="decimal" size="12" scale="2" required="true" />
    ...
</table>
Run Code Online (Sandbox Code Playgroud)

生成的setAmount()方法如下所示:

public function setAmount($v)
{
    if ($v !== null && is_numeric($v)) {
        $v = (string) $v;
    }

    if ($this->amount !== $v) {
        $this->amount = $v;
        $this->modifiedColumns[] = AccountEntryPeer::AMOUNT;
    }


    return $this;
} // setAmount()
Run Code Online (Sandbox Code Playgroud)

保存对象会导致PostgreSQL错误:

Invalid text representation: 7 ERROR: invalid input syntax for type numeric: "3,5"
Run Code Online (Sandbox Code Playgroud)

我花了一段时间才找到转换发生的地方.正如您所看到的,float值正在setAmount()中转换为字符串.到目前为止,我从未注意到将float值转换为string会导致包含特定于语言环境的小数分隔符的字符串.

我想知道为什么推动首先将浮点值转换为字符串?这有什么解决方法吗?

我提出的唯一解决方法是非常丑陋和讨厌:

setlocale(LC_ALL, 'en_US');
$ae->setAmount(3.5);
setlocale(LC_ALL, 'de_DE');
Run Code Online (Sandbox Code Playgroud)

php propel

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

PostgreSQL 全文搜索:如何更改分类为“单词分隔符”的内容?

使用ts_debug我可以看到 Postgres 将哪些符号视为(我称之为)“单词分隔符”。

例子:

SELECT ts_debug('english', 'Hello. ABC')
Run Code Online (Sandbox Code Playgroud)

结果:

(asciiword,"Word, all ASCII",Hello,{english_stem},english_stem,{hello})
(blank,"Space symbols",". ",{},,)
(asciiword,"Word, all ASCII",ABC,{english_stem},english_stem,{abc})
Run Code Online (Sandbox Code Playgroud)

.(点空格)被视为单词分隔符。我的问题是,我也需要 Postgres 将单个点.视为单词分隔符。

现在,如果我搜索ABC没有包含内容的条目Hello.ABC(点后没有空格),只会找到Hello. ABC.

我正在使用这个搜索查询:

SELECT description FROM incident WHERE
  to_tsvector('english', description) @@ to_tsquery('english', 'ABC')
Run Code Online (Sandbox Code Playgroud)

另一个例子:搜索IOException不会找到java.io.IOException

有没有办法将单个点(没有空格)视为单词分隔符?

postgresql full-text-search

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