小编Dan*_*ndy的帖子

在Doctrine2实体中存储"CASE WHEN"条件

从Doctrine 2.1开始,支持CASE WHEN语句,但没有很多文档.我的目标是设置一个布尔值来判断照片是否已被用户收藏:

       ->addSelect("CASE WHEN f.photo is NULL THEN false ELSE true END as is_favorited")
       ->leftJoin("p.favorites", 'f', 'WITH', 'f.owner = :viewer')
       ->orderBy("p.date_posted", "DESC")
       ->setParameters(array("owner" => $owner, "viewer" => $viewer));
Run Code Online (Sandbox Code Playgroud)

但是因为JMSSerializer将我的实体转换为json,所以我想将CASE WHEN结果设置为实体的属性.

        ->addSelect("CASE WHEN f.photo is NULL THEN false ELSE true END as p.is_favorited")
Run Code Online (Sandbox Code Playgroud)

但不幸的是,Doctrine似乎并不喜欢这样:

[语法错误]第0行,第65行:错误:预期的Doctrine\ORM\Query\Lexer :: T_FROM,得到'.'

是否可以在实体上设置DQL创建的属性?

php mysql symfony doctrine-orm

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

更改选择标记中单独选项的css font-family

我不知道这是否可行,如果没有,如果有人可以抛出可选的想法,但我试图在select标签中显示不同字体(特别是来自Google字体目录的字体)的下拉列表.在下拉列表中,我试图通过使用它所代表的字体为每个选项设置样式来显示预览

<option name="Tangerine" style="font-family:'Tangerine', verdana;">Tangerine</option>
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.任何线索为什么或如何解决它?

html css fonts google-webfonts

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

如何在Swift中正确测试Core Data

这方面有很多主题,但我还没有找到适用于Swift(Xcode 6.2)的解决方案.

为了在Swift中测试Core Data支持的类,我生成了新的托管对象上下文,然后我将其注入到我的类中.

//Given   
let testManagedObjectContext = CoreDataTestComposer.setUpInMemoryManagedObjectContext()
let testItems = createFixtureData(testManagedObjectContext) as [TestItem]
self.itemDateCoordinator.managedObjectContext = testManagedObjectContext

//When
let data = self.itemDateCoordinator.do()

//Then
XCTAssert(data.exists)
Run Code Online (Sandbox Code Playgroud)

问题来自于将在Test中创建的MOC传递给正在进行的类.因为实体类是命名空间的,所以Core Data不会获取适当的ManagedObject子类,而是返回一个NSManagedObject集合.循环或对这些对象做任何事情时(在您的类中将是一个测试项目数组([TestItem]).

例如,违规类ItemDateCoordinator将执行此循环(在从a中提取相关数据之后NSFetchRequest)"

for testItem in testItems {
    testItem.doPart(numberOfDays: 10)
}
Run Code Online (Sandbox Code Playgroud)

会导致:

致命错误:NSArray元素无法匹配Swift数组元素类型

此外,我遇到了一系列信息,没有太多可靠的答案:

  • 为了在创建实体时强制转换实体,我一直在使用Jesse的解决方案,但这不适用于更大范围的测试.
  • 已经在另一个涉及在运行时交换类的问题发布了一个解决方案,但这对于实体继承而言并不适用.
  • 在这种情况下,是否有另一种方法可以使用Core Data测试对象?你怎么做呢?

core-data nsmanagedobjectcontext ios swift

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

UITavBarController内部的UINavigationController问题,未调用viewWillAppear

作为概述,每当从堆栈中弹出视图时,我都会遇到UITabBarController内部的UINavigationController问题,并调用viewWillAppear.

从委托中,以编程方式创建UITabBarController:

// Create views for Tab Bar
    UINavigationController *view1   = [[UINavigationController alloc] initWithRootViewController:[[newsFeedNavigationController alloc] initWithStyle:UITableViewStylePlain]];
    resizedTabBatItem *tabBarItem1 = [[resizedTabBatItem alloc] initWithTitle:nil image:[UIImage imageNamed:@"newspaper.png"] tag:0];
    [view1 setTabBarItem:tabBarItem1];
    [tabBarItem1 release];

    UIViewController *view2   = [UIViewController new];
    resizedTabBatItem *tabBarItem2 = [[resizedTabBatItem alloc] initWithTitle:nil image:[UIImage imageNamed:@"speechbubble.png"] tag:1];
    [view2 setTabBarItem:tabBarItem2];
    [tabBarItem2 release];

....

// Create the tab bar controller
    bookTabBarController = [BookTabBarController new];
    [[bookTabBarController view] setFrame:CGRectMake(0, 0, 320, 460)];

    // Add the views to it
    NSArray *viewControllers = [NSArray arrayWithObjects:view1, view2, view3, view4, view5, nil]; …
Run Code Online (Sandbox Code Playgroud)

iphone uitableview uinavigationcontroller viewwillappear

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

libpurple入门

我正在编写一个Cocoa Touch程序,它将(希望)使用Libpurple作为它的背景.唯一的问题是我不知道从哪里开始.我一直在查看一些使用它的应用程序的源代码,但到目前为止还没有到达任何地方.
有没有人知道什么能帮助我熟悉libpurple?

c iphone cocoa-touch libpurple

6
推荐指数
2
解决办法
1863
查看次数

在UITableView中使用多个单元格样式类型和自定义单元格

我在弄清楚如何在UITableView中显示不同的单元格样式以及自定义单元格时遇到了问题.我理解如何设置和放置单元格以及构建基本的UITableView,但不知道如何在一个单元中"混合和匹配"单元格.

我可以向您展示我想要实现的最好的例子是Tweetie 2应用程序. Tweetie 2个人资料

段的顶部有一个块段,然后在它下面有UITableViewCell的UITableViewCellStyleValue2样式集.我究竟该如何实现这种效果?

提前谢谢

iphone uitableview

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

淡入iOS中的异步加载图像

我正试图找到一种异步加载图像的方法,然后将图像"只显示"在UIImageView中,让它们淡入,类似于在iPad上的YouTube应用程序上完成的方式.

有没有人知道我会怎么做?我一直在寻找那些做过类似事情的人,但还没有太多运气,我不确定从哪里开始.

cocoa-touch asynchronous uiimageview ios

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

访问模型中的Symfony用户会话(Doctrine)

如何在Doctrine的模型中访问Symfony的当前用户会话?

我知道的两种方法是将它从模型中的sfContext中拉出来:

sfContext::getInstance()->getUser()->getCanSwim();
Run Code Online (Sandbox Code Playgroud)

或者,将sfUser实例(或片段)直接从控制器传递给模型:

UserTable::goSwimming($sf_user->can_swim);
Run Code Online (Sandbox Code Playgroud)

但是,这些方法中的任何一种方法都比其他方法更好,还是这不是正确的方法呢?

model-view-controller doctrine symfony1 model symfony-1.4

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

Symfony2安全性@Secure注释无法正常工作

我正在尝试使用注释来保护我的控制器:

namespace Vinny\StreamBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use JMS\SecurityExtraBundle\Annotation\Secure;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;


class HomeController extends Controller
{

    /**
     * @Route("/home", name="home") 
     * @Secure(roles="ROLE_USER")
     */
    public function indexAction()
    {
     ...
Run Code Online (Sandbox Code Playgroud)

但我似乎无法让我的控制器实际上受到保护.是否有任何可以忽略的情况?

php security symfony

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

在 iOS 游戏中禁用 iOS 可达性滑动手势

我有一个 iOS 游戏,在屏幕底部附近有一些可以滑动的控件。当玩家向下滑动时,如果他们的手指滑离屏幕底部,也会触发Reachability 无障碍手势。然后滑下屏幕,将这些控件移出页面并隐藏游戏的一半。显然,这不是玩家的意图,并且要求他们的滑动非常具体,这不是很直观或很有趣。

在圆形 iPhone 套件上,控件距离屏幕底部大约 100 pt,为主页指示器留出空间,这有助于在许多情况下防止出现此问题,但在方形设备上,它们更接近 10 pt:

向下滑动示例

在我的初步测试中,我发现即使在屏幕上开始高达 300pt 的滑动一直持续到屏幕底部,也会触发可达性。因此,将我的控件调高并不是解决方案,因为这会使它们在屏幕上处于死角(也阻挡了游戏的焦点),并且在某些手机上无法舒适地使用手指。

由于 Reachability 在我的游戏中没有任何用处(屏幕的上三分之一没有控件用于将您的手保持在屏幕的下部)我真的想要一种方法来防止这个。理想情况下,在游戏过程中通过某种方式通知系统它是不必要的,因此我可以在非游戏菜单中允许它 - 但我可能在梦想那部分。我也不认为要求用户在整个系统范围内禁用此解决方案是一个很好的解决方案,因为这是我的应用程序的冲突,并且需要他们在其他地方改变他们的行为。

是否有关于如何处理与此特定可访问性手势的冲突的任何指导、示例或建议?

ios sprite-kit swift

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

在PHP中释放内存

我有一个脚本,它将大约150万行(约400mb的数据)从一个表传输到另一个表(在此过程中,一些数据被转换,修改并放置在正确的字段中).它是一个简单的脚本,它只是递归加载数据,然后将它放在正确的字段和格式下的新表中.这些脚本通过(作为示例)从表中拉出所有用户然后开始循环遍历用户,将它们插入到新表中,然后从该用户拉出所有帖子,循环并将它们插入到正确的表中然后从帖子中拉出所有评论并插入这些评论,然后跳回来并拉动该用户的所有联系人,最后到下一个用户进行相同的过程.

我只是在传输大量数据时遇到问题,因为它太大而且除了垃圾收集(我知道)之外没有任何类型的内存管理,我无法完成脚本(它在大约200MB内存之前通过大约15,000个连接和项目传输).

这是一次性的事情,所以我在我的本地计算机上做,而不是实际的服务器.

由于unset()实际上没有释放内存,有没有其他方法来释放变量中的数据?我试图做的一件事是将变量覆盖为NULL值,但这似乎没有帮助.

任何建议都会很棒,因为男人,这很臭.

php mysql memory-management

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