一位同事和我正在讨论Apple如何处理使用以前私有API的应用程序.试想一下,如果你愿意[NSAppleObject someMethod],其中someMethod在iOS的7.1私有,无证方法,但由于运行iOS 8.2的它被公之于众.该应用程序支持iOS 7.1.
我要检查的可用性someMethod使用respondsToSelector,如果可用,使用它.我的同事认为,由于这种方法在7.1中是私有的,而我们的应用程序支持7.1,Apple将拒绝其使用,即使API现已公开.
只要有人能预测苹果会拒绝什么,我的同事是否正确?
我在Objective-C中计算圆圈上的点数时间很长.即使在阅读了其他代码示例的TONS后,我的圈子仍然偏离中心.(这是考虑到"中心"与"原点"并调整UIView的大小,在这种情况下是UIButton.)
这是我正在使用的代码.圆圈形成正确,它正好偏离中心.我不确定这是一个弧度与度数问题还是别的.这是ViewController中的一个辅助函数,它以编程方式创建UIButtons并将它们添加到视图中:
- (CGPoint)pointOnCircle:(int)thisPoint withTotalPointCount:(int)totalPoints {
CGPoint centerPoint = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height / 2);
float radius = 100.0;
float angle = ( 2 * M_PI / (float)totalPoints ) * (float)thisPoint;
CGPoint newPoint;
newPoint.x = (centerPoint.x / 2) + (radius * cosf(angle));
newPoint.y = (centerPoint.y / 2) + (radius * sinf(angle));
return newPoint;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
我正在寻找一种更优雅的方式为数字创建有限的限制器,主要是用于制作者.有很多技术可以确定值是否在边界内,但是我没有看到强制传入值符合这些边界的任何本机函数.
接受答案在这里很接近,但我想封顶值,而不是仅仅强制执行.
这是我到目前为止所拥有的.我不确定Int扩展.if-else如果可能的话,我宁愿将其折叠成一个优雅的代码行.理想情况下,我也希望缩短其中的实际实现struct.
extension Int {
func bounded(_ min: Int, _ max: Int) -> Int {
if self < min {
return min
} else if self > max {
return max
} else {
return self
}
}
}
print(5.bounded(4, 6)) // 5
print(5.bounded(1, 3)) // 3
print(5.bounded(6, 9)) // 6
// Used in a sentence
struct Animal {
var _legs: Int = 4
var legs: Int {
get {
return _legs
} …Run Code Online (Sandbox Code Playgroud)