private static var dateFormatter: NSDateFormatter { print("here here") let formatter = NSDateFormatter() formatter.dateFormat = "EEEE h a" return formatter}
问题是我不止一次看到print语句,这意味着它不止一次被创建.我已经找到了其他方法(比如插入外部课程或类课程),但我很想知道这里发生了什么.有任何想法吗?
解决方法 您的代码段相当于只获取属性,基本上它与以下内容相同:private static var dateFormatter: NSDateFormatter { get { print("here here") let formatter = NSDateFormatter() formatter.dateFormat = "EEEE h a" return formatter }}
如果你只想运行一次,你应该像定义一个惰性属性一样定义它:
private static var dateFormatter: NSDateFormatter = { print("here here") let formatter = NSDateFormatter() formatter.dateFormat = "EEEE h a" return formatter}()总结
以上是内存溢出为你收集整理的ios – 静态计算变量被多次实例化全部内容,希望文章能够帮你解决ios – 静态计算变量被多次实例化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)