-
didSet wiilSet 不会在init方法时候进行调用。查看全部
-
结构体属性可以修改的条件:1.结构体是变量 && 2.该结构体属性也是变量查看全部
-
struct guard查看全部
-
override init查看全部
-
htts://github.com/liuyubobobo/Play-with-Swift-2查看全部
-
构造函数的调用顺序查看全部
-
didSet和willSet不会在类实例化的时候被执行查看全部
-
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实现递归查看全部
-
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关键字在代替多层if-else语句,使逻辑更清晰查看全部
举报
0/150
提交
取消