-
didSet wiilSet 不會(huì)在init方法時(shí)候進(jìn)行調(diào)用。查看全部
-
結(jié)構(gòu)體屬性可以修改的條件:1.結(jié)構(gòu)體是變量 && 2.該結(jié)構(gòu)體屬性也是變量查看全部
-
struct guard查看全部
-
override init查看全部
-
htts://github.com/liuyubobobo/Play-with-Swift-2查看全部
-
構(gòu)造函數(shù)的調(diào)用順序查看全部
-
didSet和willSet不會(huì)在類實(shí)例化的時(shí)候被執(zhí)行查看全部
-
class Player { var playerName: String var score = 0 static var highestScore = 0 init(playerName: String) { self.playerName = playerName } func play() { let score = random() % 100 self.score += score Player.highestScore = self.score > Player.highestScore ? self.score : Player.highestScore print("\(self.playerName) has played. This way's score is \(score). He's total score is \(self.score).The game's heighest score is \(Player.highestScore).") } } var player1 = Player(playerName: "steve") player1.play() player1.play() var player2 = Player(playerName: "bill") player2.play() player2.play() player2.play()查看全部
-
struct Point { var x: Double = 0.0 var y: Double = 0.0 } struct Size { var width: Double = 0.0 var height: Double = 0.0 } class Rectangle { var orgin: Point = Point() var size: Size = Size() var center: Point { get { let centerX = self.orgin.x + size.width / 2 let centerY = self.orgin.y + size.height / 2 return Point(x: centerX, y: centerY) } set { let orginX = newValue.x - size.width / 2 let orginY = newValue.y - size.width / 2 self.orgin = Point(x: orginX, y: orginY) } } var area: Double { get { return self.size.width * self.size.height } } init(orgin: Point, size: Size) { self.orgin = orgin self.size = size } } var rectangle = Rectangle(orgin: Point(), size: Size(width: 18.0, height: 10.0)) rectangle.center rectangle.center = Point(x: 3, y: 4)查看全部
-
用indirect實(shí)現(xiàn)遞歸查看全部
-
struct Location { let latitude: Double let longitude: Double init?(coordinateString: String) { guard let commaIndex = coordinateString.rangeOfString(",")?.startIndex, firtstElement = Double(coordinateString.substringToIndex(commaIndex)), lastElement = Double(coordinateString.substringFromIndex(commaIndex.successor())) else { return nil } latitude = firtstElement longitude = lastElement } init(latitude: Double, longitude: Double) { self.latitude = latitude self.longitude = longitude } } let location1 = Location(coordinateString: "23.00,-112.3") let location2 = Location(latitude: 23.00, longitude: -112.3)查看全部
-
struct Location { let latitude: Double let longitude: Double init(coordinateString: String) { let commaIndex = coordinateString.rangeOfString(",")!.startIndex let firstElement = coordinateString.substringToIndex(commaIndex) let lastElement = coordinateString.substringFromIndex(commaIndex.successor()) latitude = Double(firstElement)! longitude = Double(lastElement)! } init(latitude: Double, longitude: Double) { self.latitude = latitude self.longitude = longitude } } let location1 = Location(coordinateString: "23.00,-112.3") let location2 = Location(latitude: 23.00, longitude: -112.3)查看全部
-
lazy 延遲屬性寫法查看全部
-
原因查看全部
-
guard關(guān)鍵字在代替多層if-else語句,使邏輯更清晰查看全部
舉報(bào)
0/150
提交
取消