小编fbe*_*rdo的帖子

如何"猴子测试"一个网站

我正在寻找一种方法来测试一个网站.像浏览器插件,你可以在其中定义时间间隔和非点击区域,然后插件将在指定的时间间隔内开始点击(可能还有其他操作)到处(非点击区域或DOM元素除外).

我在网上搜索过,只发现了iPhone和Android这类测试.

testing firefox google-chrome monkey-testing browser-plugin

18
推荐指数
2
解决办法
4654
查看次数

捕获屏幕

我试图捕捉(屏幕截图)一个视图.为此,我使用下面显示的一段代码将其作为PNG图像保存到我的文档目录中.

UIGraphicsBeginImageContextWithOptions(highlightViewController.fhView.centerView.frame.size, YES, 1.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"1.png"];
NSData *imageData = UIImagePNGRepresentation(screenshot);
[imageData writeToFile:appFile atomically:YES];
UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)

问题:我可以捕获部分视图吗?因为在上面的代码我不能改变原点(框架).如果有人有其他方法来捕获视图的特定部分,请分享.

iphone screenshot objective-c ios

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

算法优化(素数因子分解)

在开始之前,让我说:这不是功课,只是简单,陈旧,有趣.

现在,我试图想出一个能够回答这个问题的算法1/x + 1/y = 1/n!.

正如您在上面的链接中所看到的,作者只询问提示而不是实际答案,所以我会请求同样的.

我将表达式简化为(x - n!)(y - n!)=(n!)^ 2,如其中一个答案所示,到那时我理解了(x,y)对的组合数与n!^ 2的除数数相同(如果我错了,请纠正我).

所以,正如接受的答案所暗示的那样,我试图得到每个素数组成N!^ 2的所有因子的乘法.

我在C中使用试验分区得出了一些代码来分解N!^ 2和EratosthenesSieve以获得所有素数达到sqrt(N!^ 2).

现在的问题是内存,我试过N = 15而我的Mac(四核6GB内存)几乎死在我身上.问题是记忆力.所以我添加了一些printf并尝试使用N = 11:

Sieve of Eratosthenes took 13339.910000 ms and used 152 mb of memory
n= 11; n!^2 = 1593350922240000; d = 6885
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,5,5,5,5,7,7,11,11]
Run Code Online (Sandbox Code Playgroud)

该列表是N!^ 2的所有主要因素(当然除了1和N!^ 2).

我想要一些关于如何最小化内存消耗和可能的优化的提示.

代码吼叫,这只是一个快速实验,所以我确信它可以优化.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <strings.h>
#include <sys/time.h>
#include <assert.h>

//Linked List
struct node {
    struct …
Run Code Online (Sandbox Code Playgroud)

c algorithm math prime-factoring number-theory

7
推荐指数
3
解决办法
2447
查看次数

如何使UIScrollView对象图标(如App Store:Feature)

我想要得到的是此滚动视图具有的相同行为:

App Store功能滚动视图(左)

我知道这是使用HTML而不是本机API,但我正在尝试将其实现为UIKit组件.

现在,我正在寻找的行为:

  • 请注意,它是一个分页滚动视图,但"页面大小"小于视图的宽度.
  • 当您从左向右滚动时,每个页面都会"捕捉"到最左侧的项目.
  • 当您从右端向左滚动它时,它会"捕捉"到最右边的项目.

同一页面,但现在是从右到左:

App Store功能滚动视图(右)

我尝试过的:

  • 我已经尝试使滚动视图小于它的超级视图并重写hitTest,这让我从左到右的行为.
  • 我已经尝试实现scrollViewWillEndDragging:withVelocity:targetContentOffset:并设置我想要的targetContentOffset,但由于我不能改变速度,它只是滚动太慢或太快.
  • 我已经尝试实现scrollViewDidEndDecelerating:然后动画到正确的偏移量但滚动视图先停止然后移动,它看起来不自然.
  • 我已经尝试实现scrollViewDidEndDragging:willDecelerate:然后动画到正确的偏移量但滚动视图"跳转"并且没有正确动画.

我没有想法.

谢谢!

更新:

我最终使用Rob Mayoff的方法,看起来很干净.我更改了它,因此当速度为0时它会起作用,例如当用户拖动,停止和释放手指时.

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView 
                     withVelocity:(CGPoint)velocity 
              targetContentOffset:(CGPoint *)targetContentOffset {
    CGFloat maxOffset = scrollView.contentSize.width - scrollView.bounds.size.width;
    CGFloat minOffset = 0;

    if (velocity.x == 0) {
        CGFloat targetX = MAX(minOffset,MIN(maxOffset, targetContentOffset->x));

        CGFloat diff = targetX - baseOffset;

        if (ABS(diff) > offsetStep/2) {
            if (diff > 0) {
                //going left
                baseOffset = MIN(maxOffset, baseOffset + offsetStep);
            } else {
                //going right
                baseOffset = MAX(minOffset, baseOffset - offsetStep);
            } …
Run Code Online (Sandbox Code Playgroud)

iphone xcode cocoa uiscrollview ios

6
推荐指数
3
解决办法
6700
查看次数

协议上的关联类型和泛型

我试图在协议中声明一个函数,该函数强制符合它的类型返回相同协议的值,但具有特定的关联类型:

protocol Protocol {
    typealias ValueType

    var value : ValueType? {get}

    func getProtocolString<A where A : Protocol, A.ValueType == String>() -> A
}
Run Code Online (Sandbox Code Playgroud)

这编译.当我尝试创建一个符合它的类时,我得到了错误:

class AClass<T> : Protocol {
    var value : T?       

    func getProtocolString<A where A : Protocol, A.ValueType == String>() -> A {
        return AClass<String>()
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是'AClass'不能转换为'A'.

我错过了什么吗?这甚至可能吗?

谢谢

generics ios swift

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

禁用输入以外的文本选择

我有这段代码来禁用所有文本选择.除了输入外,我如何禁用所有文本?我试过 $('* :not(input)').disableTextSelect();但它禁用了一切的选择(包括输入)

$.extend($.fn.disableTextSelect = function () {
                return this.each(function () {
                    if ($.browser.mozilla) {//Firefox
                        $(this).css('MozUserSelect', 'none');
                    } else if ($.browser.msie) {//IE
                        $(this).bind('selectstart', function () { return false; });
                    } else {//Opera, etc.
                        $(this).mousedown(function () { return false; });
                    }
                });
            });
            $('* :not(input)').disableTextSelect(); 
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
2
解决办法
4827
查看次数

启用/禁用UISegmentedControl

有人知道一种方法拒绝UISegmentedControl对象的输入吗?

在我的应用程序加载阶段,如果点击UISegmentedControl,应用程序崩溃.

我试过了:

[segmentControl setEnabled:NO];
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用......

cocoa uisegmentedcontrol ios

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

Objective-C中的文本长度

请告诉我之间的差异test.length[test length]

哪个对iOS开发更有用?

iphone xcode objective-c ios

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