小编Ste*_*oom的帖子

从整数生成伪随机6字符串

我试图通过PHP解决以下问题.目的是基于整数种子生成唯一的6个字符的字符串,并包含预定义的字符范围.第二个要求是字符串必须是随机的(因此,如果代码1是100000,则代码2不能接受100001和3 100002)

字符范围是:

  • 大写AZ除外:B,I,O,S和Z.
  • 0-9除外:0,1,2,5,8

如果我没有弄错的话,这将是总共26个字符.我的第一个想法是从编号7962624开始从基数10编码到基数24.所以7962624 +种子,然后base24编码该数字.

这给了我0-N字符.如果我以下列方式替换结果字符串,那么我符合第一个标准:

B=P, I=Q, 0=R, 1=T, 2=U, 5=V, 8=W
Run Code Online (Sandbox Code Playgroud)

所以在这一点上,我的代码看起来像这样:

1=TRRRR, 2=TRRRT, 3=TRRRU
Run Code Online (Sandbox Code Playgroud)

所以我对你的大师的问题是:我怎样才能创建一个行为一致的方法(所以给定整数的返回字符串总是相同的)并满足上面的2个要求?我已经花了整整2天的时间,没有将700,000,000个代码转储到数据库中并随机检索它们我完全没有想法.

斯蒂芬

php hash base

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

使用SKNode在点周围进行恒速轨道运动

我的目标是以恒定速度(在这种情况下为500)使第二个"轨道"第一个体.

根据SpriteKit中的Constant运动,我实现了以下内容:

override func didMoveToView(view: SKView) {

    physicsWorld.gravity = CGVector(dx: 0, dy: 0)

    let firstNode = SKShapeNode(circleOfRadius: 10)
    addChild(firstNode)
    firstNode.position = CGPointMake(CGRectGetWidth(frame) / 2.0, CGRectGetHeight(frame) / 2.0)
    let firstPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
    firstPhysicsBody.dynamic = false
    firstNode.physicsBody = firstPhysicsBody

    let secondNode = SKShapeNode(circleOfRadius: 10)
    addChild(secondNode)
    secondNode.position = CGPointMake(CGRectGetWidth(frame) / 2.0 + 40, CGRectGetHeight(frame) / 2.0 + 40)
    let secondPhysicsBody = SKPhysicsBody(circleOfRadius: 10)
    secondPhysicsBody.friction = 0
    secondPhysicsBody.linearDamping = 0
    secondPhysicsBody.angularDamping = 0
    secondPhysicsBody.affectedByGravity = false
    secondNode.physicsBody = secondPhysicsBody

    let joint …
Run Code Online (Sandbox Code Playgroud)

sprite-kit swift

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

在类/异步请求/ iOS之间传递数据

我正在将我的应用程序从Syncronous转换为Asyncronous HTTP请求,并遇到了一个问题,看起来它需要对应用程序处理其数据的方式进行相当大的改动.让我试着解释一下

以前它是这样的:

- Class1,Class2并且Class3都是UIViewController -Helper类 - 内容显示类的子类

他们做的事情差别很大,但共同的特点是他们与助手班级的互动.它们以多种不同的方式从用户收集请求的详细信息,然后最终向帮助程序类发送请求.
当它同步完成时,助手类将返回数据.然后,每个类将解释数据(XML文件)并通过segue将它们传递给Content显示类

所以大致如下:

1类:

//Get user input
SomeData *data = [helperclass makerequest];
id vcData = [data process];
[self performSegueWithIdentifier:@"segueIdentifier"];
---
- (void)prepareForSegue:(UIStoryboardSegue *)segue
{
    DestinationViewController *destination = (DestinationViewController *)segue.destinationViewController;
    destination.data = vcData;
}
Run Code Online (Sandbox Code Playgroud)

内容显示类:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.data presentdata];
}
Run Code Online (Sandbox Code Playgroud)

现在看起来像这样

我通过首先使它与Class1一起使用来处理这个问题,以便将修复程序部署到class2和class3.所以class1和helper现在就像这样交互

1类:

//Get user input
SomeData *data = [helperclass makerequestWithSender:self];
id vcData = [data process];
[self performSegueWithIdentifier:@"segueIdentifier"];
---
- (void)prepareForSegue:(UIStoryboardSegue *)segue
{
    DestinationViewController …
Run Code Online (Sandbox Code Playgroud)

oop iphone objective-c ipad ios

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

当adjustsFontSizeToFitWidth为YES时,UILabel获取显示的字体大小

我有一个UILabeladjustsFontSizeToFitWidth设置为YES如预期它缩小屏幕上显示的字体当文本太大的规模要绘制font财产.

我已经查询了该font属性,但这仍然与最初设置在标签上时相同,并且UILabel似乎没有任何其他可用的属性.

有没有办法找出标签绘制的缩小文字的大小是多少?

编辑:不是建议的重复,因为sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:在iOS7中已弃用

uikit uilabel ios

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

通过属性getter访问std :: map会返回垃圾值

我在项目中遇到了这个问题,并将其归结为以下示例代码:

#import <map>

typedef std::map<int, int> exampleMap;
@interface ViewController ()

@property (nonatomic, assign) exampleMap map;
@end

@implementation ViewController

- (IBAction)iterateWithSelf:(id)sender
{
    for (exampleMap::iterator iter = self.map.begin(); iter != self.map.end(); ++iter)
    {
        NSLog(@"We should never hit this line as map is empty");
    }
}
- (IBAction)iterateWithIVar:(id)sender
{
    for (exampleMap::iterator iter = _map.begin(); iter != _map.end(); ++iter)
    {
        NSLog(@"We should never hit this line as map is empty");
    }
}

@end
Run Code Online (Sandbox Code Playgroud)

- iterateWithIVar:执行正常,没有任何内容记录到控制台. - iterateWithSelf:进入for循环,在控制台上打印一行,然后崩溃EXC_BAD_ACCESS

然后我尝试插入... self.map.insert(std::pair<int, int>(0, 1)); …

c++ llvm objective-c++ ios xcode5.1

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

标签 统计

ios ×3

base ×1

c++ ×1

hash ×1

ipad ×1

iphone ×1

llvm ×1

objective-c ×1

objective-c++ ×1

oop ×1

php ×1

sprite-kit ×1

swift ×1

uikit ×1

uilabel ×1

xcode5.1 ×1