小编cat*_*res的帖子

在 Swift 中的观察者方法中抛出错误

我正在尝试在属性观察器方法(didSetwillSet)中实现一些验证规则,并且我正在尝试throw在闭包中使用。这是一个说明性示例:

enum SomeClassError: ErrorType {
  case NumberNotPositive
}

class SomeClass {
  var PositiveNumber: Int {
    willSet(value) {
      guard value > 0 else {
        throw SomeClassError.NumberNotPositive
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当然,编译器会抱怨,Error is not handled because the enclosing function is not declared 'throws'我真的不知道didSet实际上在哪里声明throws

你知道是否有办法在属性观察器方法中抛出错误?

validation error-handling swift

5
推荐指数
1
解决办法
1668
查看次数

swift uiview没有名为center的成员

这是我的RectangleView:

import UIKit

class RectangleView: UIView
{
    init(frame: CGRect)
    {
        // Initialization code
        super.init(frame: frame)
    }

    /*
    override func drawRect(rect: CGRect)
    {
        // Drawing code
    }
    */
}
Run Code Online (Sandbox Code Playgroud)

RectangleView在我的上面添加CustomViewController:

import UIKit

class CustomViewController: UIViewController
{
    var ballX:Int = 0
    var ballY:Int = 0
    let BALLWIDTH:Int = 50
    let BALLHEIGHT:Int = 50
    var navigationHeight:Double = 0.0
    var pos:CGPoint?
    var rectangleView:RectangleView?

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically …
Run Code Online (Sandbox Code Playgroud)

uiview ios swift

4
推荐指数
1
解决办法
5440
查看次数

应用程序是通用的,但资产管理器中的AppIcon没有iPad图标的空间

Xcode向我显示以下警告:

警报

  • "面向iOS 7.0及更高版本的iPad应用需要76x76应用图标"
  • "针对iOS 7.0及更高版本的iPad应用需要76x76 @ 2x app图标"

该应用程序实际上是环球.

我该如何解决此警报?

iphone ipad ios swift

4
推荐指数
1
解决办法
443
查看次数

在Swift中为我的Core Data默认堆栈创建单例

我正在尝试使用单例进行核心数据.以前,我已经成功地通过CoreDataStack.h/.m在Objective-C中创建一个类,调用下面的默认堆栈方法及其各自的托管对象上下文,并且非常有效:

//RETURNS CoreDataStack
+ (instancetype)defaultStack {
    static CoreDataStack *defaultStack;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        defaultStack = [[self alloc]init];
    });

    return defaultStack;
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在使用Swift项目,我一直在努力将其转换为最新的Swift语法.我该怎么做呢?这是我到目前为止的尝试:

class func defaultStack() -> Self {
    var defaultStack: CoreDataStack
    var onceToken: dispatch_once_t = 0
    dispatch_once(&onceToken) {
       defaultStack = self.init()
    }
    return defaultStack
}
Run Code Online (Sandbox Code Playgroud)

和我的Xcode生成错误:

在此输入图像描述

singleton core-data ios swift

3
推荐指数
1
解决办法
1506
查看次数

标签 统计

swift ×4

ios ×3

core-data ×1

error-handling ×1

ipad ×1

iphone ×1

singleton ×1

uiview ×1

validation ×1