present的延迟问题 获取链接 Facebook X Pinterest 电子邮件 其他应用 十二月 20, 2016 要强制放到主线程来执行。。不然会出现奇怪的延迟问题 如下: DispatchQueue.main.async { self.present(#YourViewController#, animated: true, completion: nil) } 阅读全文
dismiss之后的completion block(closure)是在 viewDidDisappear后面执行 获取链接 Facebook X Pinterest 电子邮件 其他应用 十一月 29, 2016 记录一下~ 阅读全文
Swift中,遇到需要重写父类的set方法时。 获取链接 Facebook X Pinterest 电子邮件 其他应用 十一月 16, 2016 例如,继承了UIButton以后,需要重写setHightlighted方法,在OC中应该是: -(void)setHighlighted:(BOOL)highlighted { [super setHighlighted:highlighted] #your code here# } 然而在Swift中 直接override func setHighlighted(){}就不行了 正确的方法是重写父类的属性,如果父类的getter改名了,那就用getter的名字重写。 如下: override var isHighlighted:Bool { willSet { #your code here# } } 当然,在didSet中写也可以,按需求来做就可以。注意使用newValue 阅读全文
将远程git仓库的master重置到某一个位置 获取链接 Facebook X Pinterest 电子邮件 其他应用 十月 25, 2016 比如要重置到e3f1e37, git checkout master git reset --hard e3f1e37 git push --force origin master 这样就好了。 阅读全文
有关Layer的anchorPoint的设置 获取链接 Facebook X Pinterest 电子邮件 其他应用 十月 24, 2016 在设置Layer的AnchorPoint的时候,View的frame.origin也会随之改变, 所以就有了如下函数 func setAnchorPoint(point: CGPoint ,view: UIView ){ let oldFrame = view. frame ; view. layer . anchorPoint = point; view. frame = oldFrame; } 而且。。AnchorPoint的范围是(0,0)~(1,1) 一不小心写成了坐标就又成了坑。。 阅读全文
Swift中的catch异常的一种写法。 获取链接 Facebook X Pinterest 电子邮件 其他应用 十月 23, 2016 do { let results = try managedContext. execute (fetchRequest) } catch let error as NSError { } 然后在下面就可以catch到error了~ 阅读全文
Swift 3 中遇到的一些问题 获取链接 Facebook X Pinterest 电子邮件 其他应用 十月 12, 2016 1.selector不好用,例如UIButton如果按新的语法来写应该是#Selector(method_name) 但是没法加冒号。。 2.单例形式变了, dispatch_once被废弃了,这样写就可以了,一行足矣。。 class some_class{ static let sharedInstance = some_class() } 3.swift里面大部分枚举都变得更好用了,例如GCD中的 DispatchQueue.global().async { } DispatchQueue .global().sync { } DispatchQueue .global().async { DispatchQueue .main.async(execute: { }) } 阅读全文