NSPoint 位置

前言

  • NSPoint:结构体,这个结构体用来表示事物的一个坐标点。

    • Objective-C

      1
      2
      3
      4
      5
      6
      7
      8
      typedef CGPoint NSPoint;

      struct CGPoint {
      CGFloat x;
      CGFloat y;
      };

      typedef struct CGPoint CGPoint;
    • Swift

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      public typealias NSPoint = CGPoint

      public struct CGPoint {
      public var x: CGFloat
      public var y: CGFloat
      public init()
      public init(x: CGFloat, y: CGFloat)
      }

      extension CGPoint {
      public static var zero: CGPoint { get }
      public init(x: Int, y: Int)
      public init(x: Double, y: Double)
      }

1、NSPoint 结构体变量的创建与调用

  • Objective-C

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // NSPoint 结构体变量的创建与赋值

    // 先定义变量,再赋值
    NSPoint point1;
    point1.x = 6;
    point1.y = 1;

    // 定义时直接赋值
    NSPoint point2 = {7, 2};

    // 给指定成员赋值
    NSPoint point3 = {.y = 3, .x = 8};

    // 使用函数赋值
    NSPoint point4 = NSMakePoint(9, 4);

    // 使用等价的结构体定义,等价于 CGPoint point5 = CGPointMake(10, 5);
    NSPoint point5 = CGPointMake(10, 5);

    // NSPoint 结构体变量值的调用

    NSLog(@"point1: %.0f, %.0f", point1.x, point1.y);
    NSLog(@"point2: %.0f, %.0f", point2.x, point2.y);
    NSLog(@"point3: %.0f, %.0f", point3.x, point3.y);
    NSLog(@"point4: %.0f, %.0f", point4.x, point4.y);
    NSLog(@"point5: %.0f, %.0f", point5.x, point5.y);
  • Swift

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    // NSPoint 结构体变量的创建与赋值

    // 先定义变量,再赋值
    var point1: NSPoint = NSPoint()
    point1.x = 6;
    point1.y = 1;

    // Int 型值
    let point2: NSPoint = NSPoint(x: 2, y: 5)

    // Double 型值
    let point3: NSPoint = NSPoint(x: 2.1, y: 6.2)

    // CGFloat 型值
    let point4: NSPoint = NSPoint(x: 2.2, y: 7.3)

    // 由方法创建
    let point5: NSPoint = NSMakePoint(2.3, 8.4)

    // 由方法创建
    let point6: NSPoint = CGPointMake(2.4, 9.5)

    // NSPoint 结构体变量值的调用

    print("\(point1.x), \(point1.y)")

2、NSPoint 与 NSString 的相互转换

  • Objective-C

    1
    2
    3
    4
    5
    // NSPoint 转 NSString
    NSString *stringFronPoint = NSStringFromPoint(point5);

    // NSString 转 NSPoint
    NSPoint point6 = NSPointFromString(stringFronPoint);
  • Swift

    1
    2
    3
    4
    5
    6
    7
    let point1: NSPoint = NSMakePoint(2.3, 8.4)

    // NSPoint 转 String
    let string: String = NSStringFromPoint(point1)

    // String 转 NSPoint
    let point: NSPoint = NSPointFromString(string)
文章目录
  1. 1. 前言
  2. 2. 1、NSPoint 结构体变量的创建与调用
  3. 3. 2、NSPoint 与 NSString 的相互转换
隐藏目录