使用未解析标识符'静态'
问题描述:
我更新了xcode 8.0 swift 3,并且发现了很多错误。这就是其中之一:使用未解析标识符'静态'
使用未解决的标识符的“静态”
这是我的课,我创建和以前版本的Xcode 7.3.1工作迅速2.
import UIKit
enum FONTSIZE:Int
{
case sizesmall = 1
case sizesbig = 2
case sizemedium = 3
}
class sizeFont: NSObject {
private static var __once:() = {
Static.instance = sizeFont()
}()
class func getSize(_ enumFont : FONTSIZE) -> CGFloat {
var siz = 17
switch(enumFont){
case .sizesbig:
if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 0){// kecil
if(isphone()){
siz = 22//17
}else{
siz = 22//24
}
}else if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 1){// besar
if(isphone()){
siz = 30//19
}else{
siz = 30//28
}
}else{
if(isphone()){
siz = 22//17
}else{
siz = 22//22
}
}
break
case .sizesmall:
if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 0){// kecil
if(isphone()){
siz = 17//15//12
}else{
siz = 24//22//19
}
}else if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 1){// besar
if(isphone()){
siz = 19//17//15
}else{
siz = 28//26//24
}
}else{
if(isphone()){
siz = 17//15//12
}else{
siz = 24//22//19
}
}
break
case .sizemedium:
if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 0){// kecil
if(isphone()){
siz = 15
}else{
siz = 22
}
}else if((UserDefaults.standard.value(forKey: "fontsize") as AnyObject).int32Value == 1){// besar
if(isphone()){
siz = 17
}else{
siz = 26
}
}else{
if(isphone()){
siz = 15
}else{
siz = 22
}
}
break
}
return CGFloat(siz)
}
func getnametag(){
}
class func isphone() ->Bool {
if(UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.phone){
return true
}else{
return false
}
}
// example singleton swift
class var sharedInstance: sizeFont {
struct Static {
static var onceToken: Int = 0
static var instance: sizeFont? = nil
}
_ = sizeFont.__once
return Static.instance!
}
}
红线代码是Static.instance = sizeFont()。
我不知道为什么我得到这个,别人知道吗?
答
Static
在类变量中声明,导致var声明之外的每个人都不可访问,只是将它移动到外部。
...
struct Static {
static var onceToken: Int = 0
static var instance: sizeFont? = nil
}
// example singleton swift
class var sharedInstance: sizeFont {
_ = sizeFont.__once
return Static.instance!
}
...
Static是Swift的保留关键字。请将其改为其他名称。 –