2016-06-18 38 views
-2

我需要选择一个用于保存对象的类型。但我需要一些帮助。iOS中正确的对象类型swift

我的目标应该有3个属性:

  • 媒体
  • 最大

他们每个人都将举行URL

而且我的目标应该首选物业。哪些将被分配为小,中或最大。首选应该从选定的属性返回URL。

例如,如果我分配:

small = url1 
medium = url2 
max = url3 

//这里我也有全局设置类。而且我应该选择从首选 - 最大网址返回。并且对于每个insulse首选应该返回最大值。

Class.preferred = Type.max //something like that 
print(instanse.preferred) //printed url3 

我该如何归档?我不能在这里使用Class,但我不确定是否可以使用枚举将它归档?

样品不工作

enum VideoType: String { 
case min 
case med 
case max 
} 


class VideoInstanse { 
var min: VideoType 
var med: VideoType 
var max: VideoType 

static var preferred:VideoType! 

init(dictionary: [Int : String]) { 
    min.rawValue = dictionary[1] //error 
    med.rawValue = dictionary[2] 
    max.rawValue = dictionary[3] 
} 
} 
+0

通过创建正是这么做的,哪里是你的问题的一个结构或类? – luk2302

+0

我添加了关于全局设置的一点,这里有一个问题 –

+0

最后的编辑没有任何意义。你为什么不能使用课堂?你想做什么? – chrs

回答

1

您可能会感兴趣,在这种情况下使用枚举(如果我正确地理解你的问题)

enum Endpoint: String { 
    var baseURLString: String { 
    get { 
     return "https://myurl.com?size=".appending(self.rawValue) 
    } 
    } 

    case small 
    case medium 
    case max 

    var url: URL? { 
    return URL(string: baseURLString) 
    } 
} 


print(Endpoint.small.url!) 
print(Endpoint.medium.url!) 
print(Endpoint.max.url!) 

输出是:

https://myurl.com?size=small 
https://myurl.com?size=medium 
https://myurl.com?size=max 
+0

嗨,我添加枚举示例,请检查我的问题 –

0

结构,也许?

struct Size { 
    var small : NSURL = NSURL() 
    var medium : NSURL = NSURL() 
    var large : NSURL = NSURL() 
} 
class VideoInstanse { 
    var properties = Size() 


    func someMethod() { 
    self.properties.small = url1 
    self.properties.medium = url2 
    self.properties.large = url3 
    } 
} 

您还可以使用它的类以外的其他地方,像这样:

var instance = VideoInstance() 
instance.properties.small... 
// and so on...