考虑我编写的以下查找函数,即使用选项和可选绑定,如果在字典中找不到键,则报告消息
func lookUp<T:Equatable>(key:T , dictionary:[T:T]) -> T? {
for i in dictionary.keys {
if i == key{
return dictionary[i]
}
}
return nil
}
let dict = ["JO":"Jordan",
"UAE":"United Arab Emirates",
"USA":"United States Of America"
]
if let a = lookUp( "JO",dictionary:dict ) {
print(a) // prints Jordan
} else {
print("cant find value")
}
Run Code Online (Sandbox Code Playgroud)
我已经重写了下面的代码,但这一次,使用错误处理,保护语句,删除-> T?
和编写符合以下内容的枚举ErrorType
:
enum lookUpErrors : ErrorType {
case noSuchKeyInDictionary
}
func lookUpThrows<T:Equatable>(key:T , dic:[T:T])throws {
for i in dic.keys{
guard i …
Run Code Online (Sandbox Code Playgroud) 我对iOS 8感到兴奋的最重要的事情之一是能够在iPhone 5s及更高版本上使用指纹传感器.不幸的是,我无法找到所需的框架,也不知道如何进行身份验证.请帮帮我:
我们非常感谢代码示例.
我想知道如何用苹果的新语言快速动画.
在目标ci中,将使用以下代码将图像从屏幕顶部移动到结尾:
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
UIImageView.center = CGPointMake(UIImageView.center.x , UIImageView.center.y + 200);
} completion:^(BOOL finished) {
[self move];
}];
Run Code Online (Sandbox Code Playgroud)
所以questoin是:
我正在尝试UIImageView
使用Touch事件旋转一个图像,我想用手指旋转图像,我想要这样做:dropbox链接(最好看一下,所以你明白我的意思了)
在研究了如何旋转UIImageView之后:如何将UIImageView旋转20度。我已经用开发iPhone应用程序的简单方法尝试了以下代码:
class ViewController: UIViewController {
var startpoint:CGPoint!
var endpoint:CGPoint!
@IBOutlet var yello:UIImageView
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!) {
let t:UITouch = touches.anyObject() as UITouch
startpoint = t.locationInView(self.view)
endpoint = t.previousLocationInView(self.view)
if t.view == yello {
var startX = startpoint.x
var endX = endpoint.x
yello.center = CGPointMake(yello.center.x, yello.center.y)
UIView.animateWithDuration(1, animations: { self.yello.transform = CGAffineTransformMakeRotation(startX-endX)})
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以清楚地看到我的代码有很多错误和不良做法,并且也无法正常运行。(请参见上方的保管箱链接)
因此,也许有更好的方法可以通过使用CoreAnimation来做到这一点,如果代码示例可以实现我想要的效果,我将不胜感激。
swift ×4
ios ×3
ios8 ×1
iphone ×1
touch-id ×1
uianimation ×1
uiimageview ×1
xcode ×1
xcode6 ×1