小编Pet*_*nek的帖子

核心位置的准确性

我目前正在开发一个位置跟踪应用程序,我的CLLocationManager位置更新不准确.这导致我的应用程序跟踪距离,这实际上只是由不准确的GPS读数引起的.

位置读数不准确

我甚至可以在打开应用程序的情况下将iPhone放在桌面上,几分钟后我的应用就会因为这个漏洞而跟踪数百米的距离.

这是我的初始化代码:

- (void)initializeTracking {
    self.locationManager = [[CLLocationManager alloc] init];
    self.locationManager.delegate = self;
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    self.locationManager.distanceFilter = 5;

    [self.locationManager startUpdatingLocation];
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!:-)

gps location objective-c core-location ios

12
推荐指数
2
解决办法
5811
查看次数

Swift中的抽象方法?

关于抽象类的概念,我对Swift开发人员的问题很少.

  1. 你如何在Swift中定义一个抽象类?有没有办法阻止类被实例化,同时为其子类提供初始化器?
  2. 如何定义抽象方法,同时实现其他方法?在定义抽象方法时,Apple通常会将您指向协议(接口).但是他们只解决了我问题的第一部分,因为他们定义的所有方法都是抽象的.当你想在你的班级中同时使用抽象和非抽象方法时,你会怎么做?
  3. 仿制药怎么样?您可能已经考虑过将协议与扩展(类别)一起使用.但是,再有就是使用泛型,因为协议不能有泛型类型,只有一个问题类型别名.

我已经做了我的功课,我知道使用方法,如解决这些问题fatalError()preconditionFailure()在超,然后在基类中重写它们.但这对我来说似乎是丑陋的对象设计.

我发布这个的原因是要找出是否存在更普遍和通用的解决方案.

提前谢谢,彼得.

abstract-class abstract swift

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

缩放子UIViewController到全屏

我有一个带有嵌入式子视图控制器的父视图控制器.当用户点击孩子时,我想在全屏模式下使用"扩展帧"动画呈现其视图.例如,类似的UI范例用于缩放Facebook和9GAG应用中的图片.

我是否应该为全屏模式演示创建一个新的控制器并将其设置为动画,好像它只是在子视图控制器之上?或者我应该为孩子的视图设置动画以扩展到超视图的界限?

我听说过UIStoryboardSegue和的自定义子类UIViewControllerTransitioning.这些方法适用于我的情况吗?

完成此任务的最佳方法是什么?

提前致谢.皮特.

PS解决了这个问题之后,我想通过交互式缩放到缩放手势来扩展我的过渡.如果用户用两根手指触摸子视图,则帧动画会对点击做出反应.当用户将手指放开时,动画应该还原,将子视图返回到其原始帧,或者继续,就像用户点击视图一样.

animation zoom objective-c uiviewanimationtransition ios

8
推荐指数
0
解决办法
528
查看次数

奇怪的HTML 5 Canvas Antialiasing

我一直在玩canvas元素,并发现当我尝试将NxN均匀的纯色单元格彼此相邻绘制时,在某些宽度/高度配置中,它们之间存在模糊的白色线条.

例如,这个画布应该看起来是黑色但包含某种网格,我猜想它是浏览器中错误的抗锯齿的结果.

画布展示了这个问题.

可以说,这个bug只出现在某些配置中,但我想彻底摆脱它.有没有办法绕过这个?你有没有在画布抗锯齿的问题?

我做了这个小提琴演示了这个问题,并允许你玩画布的尺寸和细胞数量.它还包含我用来绘制单元格的代码,以便您可以检查它并告诉我是否做错了什么.

var ctx = canvas.getContext('2d');  
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
for (var i = 0; i < numberOfCells; ++i) {
    for (var j = 0; j < numberOfCells; ++j) {
    ctx.fillStyle = '#000';
    ctx.fillRect(j * cellWidth, i * cellHeight, cellWidth, cellHeight);
  }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢,

切赫.

javascript html5 canvas antialiasing

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

有没有办法识别iDevice用户?

我正在开发一个原生iOS应用程序,我对Objective-C和apple设备开发都有点新手.

在我的应用程序中,我需要通过一种独特的方式识别用户.我认为最好的解决方案是获取当前的Apple ID并将其存储在在线数据库中以用于我的目的.唯一的问题是用户可以更改它.所以,我认为Apple必须有另一个标识符来唯一区分实际帐户.

有什么方法可以得到那个吗?我错过了什么?有些课吗?

提前谢谢...皮特

objective-c ios ios5

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

高效的轧制窗产品的总和

给定i = 0到N-1的数字序列a [i],我试图计算以下总和:

a[0] * a[1] * a[2] +
a[1] * a[2] * a[3] +
a[2] * a[3] * a[4] +
...
a[N-4] * a[N-3] * a[N-2] +
a[N-3] * a[N-2] * a[N-1]
Run Code Online (Sandbox Code Playgroud)

我想使乘法组的大小G(在上面的例子中为3)成为一个可变参数.然后,可以使用简单的O(N*G)算法天真地获得结果,该算法可以用伪代码编写,如下所示:

sum = 0
for i from 0 to (N-G-1):
  group_contribution = 1
  for j from 0 to (G-1):
    group_contribution *= a[i+j]
  sum += group_contribution
Run Code Online (Sandbox Code Playgroud)

然而,对于大G,显然该算法非常低效,特别是假设序列a [i]的数量事先不知道并且必须在运行时昂贵地计算.

出于这个原因,我考虑使用以下复杂度O(N + G)算法,它通过计算轧制产品来回收序列a [i]的值:

sum = 0
rolling_product = 1
for i from 0 to (G-1):
  rolling_product *= a[i] …
Run Code Online (Sandbox Code Playgroud)

algorithm math numeric discrete-mathematics

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