Swift编码总结5

Posted pengsi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift编码总结5相关的知识,希望对你有一定的参考价值。

1.UIWindow属性:

1>、- (void)becomeKeyWindow;                               // override point for subclass. Do not call directly 调用窗口,使之变成关键窗口

2>、- (void)resignKeyWindow;                               // override point for subclass. Do not call directly  调用窗口,使之取消关键窗口

3>、- (void)makeKeyWindow;   使之成为主窗口 

4>、- (void)makeKeyAndVisible;                             // convenience. most apps call this to show the main window and also make it key. otherwise use view hidden property 使之成为主窗口,并且显示

5>、- (void)sendEvent:(UIEvent *)event;                    // called by UIApplication to dispatch events to views inside the window 事件拦截分发到指定视图对象

2.Swift-WKWebView与H5交互:

https://blog.csdn.net/pk_sir/article/details/74312211

https://www.cnblogs.com/xuzb/p/9018661.html

3.Xcode代码行数统计查询:

利用终端切换到对应的工程目录下:

每个文件行数: 

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l

总行数:

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l

4.沉浸式:

沉浸式是之前的安卓的,状态栏的颜色自动适应和导航栏颜色一样

那时候的安卓需要 安装xpose框架才能实现

这个概念的实际应用就是,页面延伸到状态栏,然后状态栏的颜色和页面上面颜色保持一致

5.循环引用

http://www.cocoachina.com/ios/20170206/18629.html

// 弹出设置打印语言
        let vc = PrintSettingController()
        vc.sureBillDetailType = sureBillDetailType
        vc.completed = { (bPrint, model) in
            self.bPrint = bPrint
            self.printModel = model
            sureWork()
        }
        self.popup(controller: vc, direction: .center)

vc引用了block,block里没有引用vc,所以不会循环引用.

6.正确使用Carthage:

https://www.jianshu.com/p/42118918177b

7. 不能Present控制器:

https://www.cnblogs.com/Rinpe/p/5669903.html

// 新加一个任务,addOperation添加任务到队列
OperationQueue.main.addOperation {
            self.popup(controller: vc, direction: .center)
        }

 8. 防止present当前遮罩没有消失:可以设置延迟处理

  DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1, execute: {

                    self.presentPrintSettingVC()

                })

9.String转NSNumber:

payType.money = NSNumber(value: Double(String.stringValue(textField.text).replacingOccurrences(of: ",", with: "") )!)

 10.删除特定字符串:

str.replacingOccurrences(of: ",", with: "")

 11.输入金额只能为数字或者小数点正则:

 整数或者小数:

 ^[0-9]+([.][0-9]+){0,1}$ 

 

以上是关于Swift编码总结5的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift编码总结2

Swift编码总结9

Swift编码总结4

Swift编码总结1

Swift编码总结7