摘要:
MPEG的系统层编码为不同的应用场景设计了两种格式: TS(Transport Stream) 和PS(Program Stream), 它们两者之间不具有层级关系, 在逻辑上,它们两者都是由PES(Packetized Elementary Stream)包组成的, 所以可以很方便地实现相互转换. 阅读全文
摘要:
swift中,我们经常看到和用到?和!,今天来聊一聊它们俩。 swift编程,不外乎是定义属性或者函数(方法),访问属性或者调用函数,类型转换,?和!在这几个过程中,都有一展身手的时候,而且,每次要考虑使用的时候,它们俩都会一起出现在我们的大脑中,用还是不用,如果用,要用谁? 1、定义属性 “?”表 阅读全文
摘要:
1. let cornerValue = UIRectCorner.topRight.rawValue|UIRectCorner.bottomRight.rawValue let corner = UIRectCorner(rawValue: cornerValue) let path = UIBe 阅读全文
摘要:
//单行单例法 static let shareTool = Tool() // 私有init避免其他类尝试调用 private override init() { super.init() } //全局单例法 private let privateTool = Tool() class Tool 阅读全文
摘要:
func test(_ message: String,completion:(_ goodbye: String) ->Void){ print(message) completion("Goodbye") } typealias omit = (_ goodbye: String) ->Void 阅读全文
摘要:
在swift的switch语句中使用fallthrough,如同C中的switch的不使用break操作,但是又有不一样,即跳出当前,继续向下执行,而不是执行完当前再向下执行.具体如下代码 let i = 4 var testStr = "this is" switch i { case 1: te 阅读全文
摘要:
在Swift4中, self.timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.updateTimer), userInfo: nil, repeats: true) Warn 阅读全文
摘要:
上图是微博的设置中所显示的信息,上面是隐私权限管理设置项,下面是APP开发通过Settings.bundle的设置来实现的.new a file,在Resource中选取Settings Bundle即可,然后在Root.plist中修改值如下图. 值得一提的是在didFinishLaunching 阅读全文
摘要:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSString *stringValue = [userDefaults objectForKey:@"Key"]; NSLog(@"stringValue 阅读全文
摘要:
NSString *camera_clock; if (camera_clock == nil||![camera_clock containsString:@":"]||![camera_clock containsString:@"-"]) { return; } NSString *time 阅读全文