小编aks*_*gde的帖子

我可以在多个tableViews中使用单个原型单元吗?

我在两个不同的控制器中有两个不同的tableviews.但我需要在其中显示的细胞看起来完全相同.我在一个tableView和子类UiTableViewCell中创建了一个原型单元.现在,如果我想在不同的控制器中使用相同的单元格,我该如何使用它?

如果我只是在新控制器中导入该customCell文件并使用故事板中给出的相同标识符来解除它,它就不会工作.它说

断言失败 - [UITableView _configureCellForDisplay:forIndexPath:]

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'UITableView dataSource必须从tableView返回一个单元格:cellForRowAtIndexPath:'

所以,显然它意味着,细胞是零.那么如何从故事板中实例化相同的单元格呢?是否可以或者我是否必须为新表创建不同的customCell?

uitableview custom-cell ios ios5

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

在Swift 3.0中转义self(struct/enum)内部转义

在swift 2.2中,当它在一个变异函数中时,我们可以在一个闭包中变异一个struct或enum.但在swift 3.0中它已不再可能.我收到以下错误

闭包不能隐式捕获变异的自参数

这是一段代码片段,

struct Point {
    var x = 0.0, y = 0.0

    mutating func moveBy(x deltaX: Double, y deltaY: Double) {
        x += deltaX
        y += deltaY

        test { (a) -> Void in
            // Get the Error in the below line.
            self.x = Double(a)
        }

    }

    mutating func test(myClosure: @escaping (_ a: Double) -> Void) {
        myClosure(3)
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的值类型不应该是可变的.我有一些情况,当我收到API响应时,我必须在其中一个函数中修改结构中的一个变量.(完成关闭)

我在swift 2.2中做的是什么,不可能或者有没有办法实现这个目标?

ios swift swift2 swift3

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

如何在UIImageview中添加圆形蒙版并更改框架和中心?

我想为UIImageVIew添加一个圆形蒙版.这是用于添加掩码的函数..

- (void) addMaskToBounds:(CGRect) maskBounds
{
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];

    CGPathRef maskPath = CGPathCreateWithEllipseInRect(maskBounds, NULL);
    maskLayer.bounds = maskBounds;
    [maskLayer setPath:maskPath];
    [maskLayer setFillColor:[[UIColor blackColor] CGColor]];
    maskLayer.position = CGPointMake(maskBounds.size.width/2, maskBounds.size.height/2);

    [self.imageView.layer setMask:maskLayer];
}
Run Code Online (Sandbox Code Playgroud)

能够添加掩码,但问题出现,因为我正在改变图像框架并与其一起居中.根据用户操作放大图像并缩小图像.因此,当小和扩大时,我将不得不添加两次.因此,由于动画帧的变化,动画图像变得扭曲或移位.我该如何克服这个问题?

我想最好用一个示例项目来解释.在这里,我在GitHub上创建了一个Demo项目https://github.com/akshaynhegde/MaskImage,只需运行它来查看我的问题,让我知道如何解决问题.

calayer uiimageview cashapelayer uiviewanimation ios

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

在UICollectionviewCells中嵌入UIViewcontrollers

在我的应用程序中,我有一个主页,其中有一个带有多个部分的卡/网格布局.这UICollectionView是显而易见的选择.但是这些卡在设计,加载数据和功能方面也有很大差异.因此,将所有这些放在一个控制器中将是繁琐,复杂且难以维护的.所以我们认为我们需要把它们分成自己的UIViewControllers.每个处理一种类型的卡并计算其contentSize以显示在卡内.我们的主要主页控制器只负责将这些viewcontroller视图放在UICollectionView单元格中.

总结一下,

  • 一个HomeViewController,它有一个CollectionView
  • collectionViewCell中的每个视图及其数据都由其自己的控制器类维护.
  • 控制器的所有实例都在HomeViewController中,并作为其子项添加 .- Apple Guide
  • 所有子视图控制器的外观调用都是由我们自己创建的,因为contentSize(用作collectionView布局的项目大小)计算控制器视图需要加载视图和要设置的数据.

我的问题是,这个设计选择对吗?或者你会选择什么方法来实现这样的屏幕?由于我们创建了许多viewControllers(每个单元格一个),这是否会影响内存或性能?如果我只想缓存一些viewControllers或者在用户滚动时加载它们或者将它添加到collectionView单元时加载它们,我该如何计算它,因为计算该单元格的大小取决于数据和放置时的视图出CollectionView布局.

design-patterns uiviewcontroller ios uicollectionview

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

一些sql查询在终端中工作但不是在Drupal 6中使用db_query()函数为什么..?

我有以下mysql表名为"test".

在此输入图像描述

让我们说它有如下数据,

在此输入图像描述

现在我想获得用户的年龄,因为我使用以下查询..

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) AS age from test where user_name = 'akshaynhegde';
Run Code Online (Sandbox Code Playgroud)

它工作并返回21岁.(这是我在终端运行查询时)

但是,当我在Drupal 6中使用以下代码时,它什么也没有返回...... !!

    global $user;
    $uname = $user->name;

$sql = "SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) AS age from test where user_name = '%s'";

$age = db_result(db_query($sql,$uname));
Run Code Online (Sandbox Code Playgroud)

我尝试了所有的可能性,如使用db_fetch_array(),db_fetch_object()并单独执行$result = db_query($sql,$uname),然后将$ result传递给db_result()..

但没有工作..!为什么..????

好吧,仅供参考,其他简单的查询工作..例如以下,它的工作原理.

$sql = "select DOB from test where user_name = …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

MKNetworkKit缓存不起作用

我遇到了MKNetworkKit缓存的非常不寻常的问题.简单来说,问题是"它不起作用"..!

我创建了一个有问题的简单测试项目.该项目什么都不做,但只是向http://where.yahooapis.com/提出简单的GET请求,以获取城市名称的地址或信息.响应,应该在第一次运行时被追逐,并且从第二次调用完成处理程序两次,一次使用缓存响应,再一次使用获取的响应.正如您在下面看到的,它取自http://blog.mugunthkumar.com/coding/ios-tutorial-image-cache-and-loading-thumbnails-using-mknetworkkit/

如果您是第二次拨打电话,MKNetworkKit会使用缓存数据调用SAME完成处理程序.当网络连接正常时,MKNetworkKit会两次调用完成处理程序.首先使用缓存数据,然后在从服务器获取最新数据之后再次使用.

好吧,不寻常的是,我运行应用程序,它没有缓存,我再次运行应用程序,它再次没有缓存,经过一些随机运行突然缓存开始工作.我删除了应用程序并再次运行它,缓存不会工作,直到一些随机运行和问题重复..!

仅供参考,我使用了从GIT下载的最新MKNetworkkit .

我不确定我的代码是否有问题,或者是MKNetworkKit本身的错误.所以请仔细阅读代码,并告诉我它是否是导致此问题的MKNetworkKit.

以下是下载示例项目的链接[https://www.box.com/s/tsfw3z0avpti051xbyhv] 4

预先感谢.

ios ios5 ios6 mknetworkkit mknetworkengine

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