小编Ant*_*ite的帖子

错误无法使类UICollectionElementKindCell的视图出列

首先尝试使用集合视图并遇到此错误:

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法使类型的视图出列:具有标识符的UICollectionElementKindCellCell - 必须为标识符注册nib或类或在故事板中连接原型单元'

代码非常简单,如下所示.我不能为我的生活弄清楚我错过了什么.

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
cell.backgroundColor = [UIColor whiteColor]; 
return cell;
}
Run Code Online (Sandbox Code Playgroud)

集合视图控制器是使用nib创建的,委托和数据源都设置为文件的所有者.

View Controller的头文件也非常基本.

@interface NewMobialViewController_3 : UICollectionViewController <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@end
Run Code Online (Sandbox Code Playgroud)

objective-c ios uicollectionview

28
推荐指数
4
解决办法
5万
查看次数

实施规范模式

尝试使用规范模式并遇到使其在不同实现中工作的问题(例如,在内存,orm等中).我的主要ORM是Doctrine,这意味着我的第一选择是让规范使用Criterias,因为它们可以处理ArrayCollections(用于InMemory实现)和ORM.不幸的是,它们在可以运行的各种查询中相当有限(无法执行连接).

举个例子,假设我有一个UserHasBoughtProduct规范,在构造函数中给出了一个产品ID.该规范在初始级别编写非常简单.

public function isSpecifiedBy(User $user)
{
    foreach ($user->getProducts() as $product)
    {
        if ($product->getId() == $this->productId)
        {
            return true;
        }
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我想找到购买该产品的所有用户,该怎么办?我需要通过某种findSpecifiedBy(规范$规范)将此规范传递给我的UserRepository; 方法.但这在生产中不起作用,因为它必须检查数据库中的每个用户.

我的下一个想法是,规范只是一个接口,实现由基础设施处理.所以,在我的persistence\doctrine\user \目录中,我可能有一个UserHasBoughtProduct规范,在我的persistence\InMemory\user目录中,我有另一个.这在某种程度上是有效的,但是在代码中使用非常烦人,因为我需要通过DI容器或某种工厂提供我的所有规格.更不用说如果我有一个需要几个规范的类,我需要通过构造函数注入它们.不好闻.

如果我可以在一个方法中简单地执行以下操作,那将更为可取:

$spec = new UserHasBoughtProductSpecification($productId);
$users = $this->userRepository->findSatisfiedBy($spec);
//or
if ($spec->isSatisfiedby($user))
{
//do something
}
Run Code Online (Sandbox Code Playgroud)

有没有人有过在PHP中这样做的经验?你是如何设法实现规范模式的,它在现实世界中工作,并且可以在不同的后端使用,例如InMemory,ORM,纯SQL或其他任何东西?

php domain-driven-design specifications doctrine-orm

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

将jQuery保留在全局命名空间之外

我正在处理需要jQuery的脚本.它将被加载到一个网站上,该网站可能已加载或未加载jQuery.有没有什么方法可以让我的jQuery版本加载到全局命名空间之外,以便在我的匿名函数之外无法访问它?

jquery

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