2016-06-18 48 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...