Properties

Run Settings
LanguageSwift
Language Version
Run Command
struct FixedLengthRange { var firstValue: Int let length: Int } var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3) // jangkuan tersebut memakili nilai integer 0, 1, dan 2 rangeOfThreeItems.firstValue = 6 // jangkuan tersebut sekarang memakili nilai integer 6, 7, dan 8 let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4) // jangkuan tersebut memakili nilai integer 0, 1, dan 2 rangeOfFourItems.firstValue = 6 // ini akan menimbulkan kesalahan, meskipun firstValue adalah properti variabel class DataImporter { /* DataImporter adalah class untuk mengimpor data dari berkas eksternal. Class ini diasumsikan akan mengambil jumlah waktu yang tidak ditentukan untuk diinisialisasi. */ var filename = "data.txt" // class DataImporter akan menyediakan fungsionalitas pengimporan data di sini } class DataManager { lazy var importer = DataImporter() var data = [String]() // class DataManager akan menyediakan fungsionalitas manajemen data di sini } let manager = DataManager() manager.data.append("Some data") manager.data.append("Some more data") // instance DataImporter untuk properti print(manager.importer.filename) // instance DataImporter untuk properti importer kini telah dibuat // Menyetak "data.txt" struct Point { var x = 0.0, y = 0.0 } struct Shape { var origin = Point() var center: Point { get { return Point(x: origin.x/2 , y: origin.y/2) } set(newCenter) { origin.x = newCenter.x/2 origin.y = newCenter.y/2 } } } struct Point { var x = 0.0, y = 0.0 } struct Shape { var origin = Point() var center: Point { get { return Point(x: origin.x/2, y: origin.y/2) } set { origin.x = newValue.x/2 origin.y = newValue.y/2 } } } struct Cuboid { var width = 0.0, height = 0.0, depth = 0.0 var volume: Double { return width * height * depth } } let fourByFiveByTwo = Cuboid(width: 4.0, height: 5.0, depth: 2.0) print("the volume of fourByFiveByTwo is \(fourByFiveByTwo.volume)") // Prints "the volume of fourByFiveByTwo is 40.0" // CONTOH class StepCounter { var totalSteps: Int = 0 { willSet(newSteps) { print("About to set totalSteps to \(newSteps)") } didSet { if totalSteps > oldValue { print("Added \(totalSteps - oldValue) steps") } } } } let stepCounter = StepCounter() stepCounter.totalSteps = 50 // About to set totalSteps to 50 // Added 50 steps stepCounter.totalSteps = 150 // About to set totalSteps to 150 // Added 100 steps stepCounter.totalSteps = 420 // About to set totalSteps to 420 // Added 270 steps // KUNCI STATIC struct SomeStructure { static var storedTypeProperty = "Some value." static var computedTypeProperty: Int { return 1 } } enum SomeEnumeration { static var storedTypeProperty = "Some value." static var computedTypeProperty: Int { return 6 } } class SomeClass { static var storedTypeProperty = "Some value." static var computedTypeProperty: Int { return 27 } class var overrideableComputedTypeProperty: Int { return 107 } } print(SomeStructure.storedTypeProperty) // Prints "Some value." SomeStructure.storedTypeProperty = "Another value." print(SomeStructure.storedTypeProperty) // Prints "Another value." print(SomeEnumeration.computedTypeProperty) // Prints "6" print(SomeClass.computedTypeProperty) // Prints "27"
Editor Settings
Theme
Key bindings
Full width
Lines