小编Mar*_*rcy的帖子

Swift中Error和NSError之间有什么区别?

我正在创建一个应该返回错误的库,所以我想知道哪个应该用于我的目的.

更新: 我应该澄清,返回的结果将来自异步调用,所以我需要通知用户是否有错误,我想知道哪种类型我应该使用Error或NSError.

error-handling nserror swift3

31
推荐指数
1
解决办法
1万
查看次数

在Interface Builder中使用UITapGestureRecognizers的问题

我正在尝试使用可在Interface Builder中找到的UITapGestureRecognizer对象.我将一个"UITapGestureRecognizer"从对象库拖到单个视图xib.然后我从这个轻敲手势创建一个IBAction方法,进行一个简单的测试,一旦点击视图,我只是打印一个"NSLog"消息到控制台.我已经运行了这个,并且没有调用tap方法.我右键单击IB中的视图,我注意到有一个警告"!" 在视图的"Outlook集合"中我看到:

Outlet Collections
gestureRecognizers - Tap Gesture Recognizer (!)
Run Code Online (Sandbox Code Playgroud)

警告说明: UIView does not have an outlet collection named gestureRecognizers.

我需要做些什么来解决这个问题?

objective-c interface-builder iboutlet uigesturerecognizer ios

12
推荐指数
1
解决办法
6559
查看次数

我不能 pod install

我无法进行 pod 安装。这是错误。我要你帮我。

 xcrun: error: SDK "iphoneos" cannot be located
    xcrun: error: SDK "iphoneos" cannot be located
    xcrun: error: SDK "iphoneos" cannot be located
    xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'
    /Users/dan/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing: Unknown `--is-lightweight' option
    Try `/Users/dan/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6/missing --help' for more information
    configure: WARNING: 'missing' script is too old or missing
    configure: error: in `/Users/dan/Library/Caches/CocoaPods/Pods/Release/Flipper-Glog/0.3.6-1dfd6':
    configure: error: C compiler cannot create executables
    See `config.log' for more details
Run Code Online (Sandbox Code Playgroud)

macos cocoapods

8
推荐指数
2
解决办法
1842
查看次数

如何用swift连接mysql?

我有一个网络应用程序,我想制作一个iOS应用程序,我不想使用HTTP请求,我的网站有自己的数据库(这是一个MySQL数据库).我google了很多,但我找不到适合我的解决方案.你们之前有人这样做过吗?

mysql ios swift

6
推荐指数
3
解决办法
2万
查看次数

对于没有默认情况的Double类型,swift开关可以是穷举吗?

对于没有默认情况的Double类型,swift开关可以是穷举吗?

此开关(没有默认情况)给出错误:开关必须是详尽的:

    var minY = 1.0

    switch minY {
    case -(Double.infinity)..<0.9:
        yAxisMinimum = 0.0
    case (0.9..<0.99):
        yAxisMinimum = 0.9
    case (0.99..<0.999):
        yAxisMinimum = 0.99
    case (0.999..<0.9999):
        yAxisMinimum = 0.999
    case (0.9999...Double.infinity):
        yAxisMinimum = 0.9999
    }
Run Code Online (Sandbox Code Playgroud)

但是这个带有(无用的)默认情况的开关可以工作:

    var minY = 1.0

    switch minY {
    case -(Double.infinity)..<0.9:
        yAxisMinimum = 0.0
    case (0.9..<0.99):
        yAxisMinimum = 0.9
    case (0.99..<0.999):
        yAxisMinimum = 0.99
    case (0.999..<0.9999):
        yAxisMinimum = 0.999
    case (0.9999...Double.infinity):
        yAxisMinimum = 0.9999
    default:
        yAxisMinimum = 0.0
    }
Run Code Online (Sandbox Code Playgroud)

我尽量避免使用我的开关的默认情况,但不知道是否可以使用Double.

switch-statement swift

6
推荐指数
1
解决办法
237
查看次数

SwiftUI中的反斜杠(\)是什么?

在Apple的SwiftUI教程“组成复杂的接口”中,教程使用了反斜杠,该反斜杠似乎不是字符串插值或转义符。这是一行:

ForEach(categories.keys.sorted().identified(by: \.self))
Run Code Online (Sandbox Code Playgroud)

反斜杠的目的是什么?

下面是包含它的整个Struct。

struct CategoryHome: View {
    var categories: [String: [Landmark]] {
        .init(
            grouping: landmarkData,
            by: { $0.category.rawValue }
        )
    }

    var body: some View {
        NavigationView {
            List {
                ForEach(categories.keys.sorted().identified(by: \.self)) { key in
                    Text(key)
                }
            }
            .navigationBarTitle(Text("Featured"))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

special-characters swift swiftui

6
推荐指数
2
解决办法
771
查看次数

如何使用Swift生成范围(10 ... 20)中的随机数

我可以在我的游戏中为我的项目选择一个随机数,但是可以在2个数字之间选择一个随机数吗?

而不是

let number = (arc4random_uniform(100))
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

let number = (arc4random_uniform(10...20))
Run Code Online (Sandbox Code Playgroud)

或类似的东西?现在,如果我得到武器掉落,它可以是我列表中的所有内容.通过这种方式,我可以做到这一点,只有前几个对于一个特定的怪物会有一个下降,或者在更高的等级,他们会丢弃更好的武器而不是低等级.

random range swift

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

由于编译器具有“内部”保护级别,因此无法访问框架init中的公共结构

我在名为“ MyFramework”的框架中有一个结构

public struct ShipmentPackage:Encodable {
  let package_code:String
  let weight:Float
}
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试在另一个项目/框架中创建ShipmentPackage时

import MyFramework
let onePackage = ShipmentPackage(package_code:"BX",weight:100)
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,由于“内部”保护级别,无法访问“ ShipmentPackage”初始化程序。我进入此链接https://forums.swift.org/t/public-struct-init-is-un-expectedly-internal/5028

我试图将代码更改为以下内容:

第一次尝试:

public struct ShipmentPackage:Encodable {
  let package_code:String
  let weight:Float
  public init(package_code:String,weight:Float){
    self.package_code = package_code
    self.weight = weight
  }
}
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

public struct ShipmentPackage:Encodable {
  public let package_code:String
  public let weight:Float
  public init(package_code:String,weight:Float){
    self.package_code = package_code
    self.weight = weight
  }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试将package_code和weight更改为public,但是以上都不起作用,编译时出现错误消息

<unknown>:0: error: 'init' is inaccessible due to 'internal' protection level
<unknown>:0: note: 'init' declared here
<unknown>:0: error: …
Run Code Online (Sandbox Code Playgroud)

access-control swift swift-custom-framework

4
推荐指数
2
解决办法
1969
查看次数

如何在默认值中保存当前用户位置?

我试图让用户选择保存他们的当前位置。我使用默认值来保存它,我发现了如何获取用户位置。但我不确定如何将这两项任务结合起来。所以这是我的问题:

如何让我的函数调用用户位置,以便保存?

@IBAction func addLocation(_ sender: Any) {

// CALL LOCATION MANAGER TO GET LOCATION IN LAT AND LONG    
    self.saveDefaults()

    }

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate else { return }
    print("locations = \(locValue.latitude) \(locValue.longitude)")
}

func saveDefaults()
{
    UserDefaults.standard.set(self.pickers, forKey: "pickers")
    print("SAVED PICKERS: \(pickers)")

}
Run Code Online (Sandbox Code Playgroud)

这是我最近的尝试,但我不知道为什么我的 struct (lat: ,long:) 没有接受输入

@IBAction func addLocation(_ sender: Any) {

    var locations: [CLLocation]
    let manager: CLLocationManager

    let userLocation:CLLocation = locations[0] as CLLocation

    // Call stopUpdatingLocation() …
Run Code Online (Sandbox Code Playgroud)

core-location swift userdefaults

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

如何在 Swift 4.2 中使用按钮阴影?

我试图让我的按钮在 swift 4.2 中渲染阴影

我已经按照其他示例无济于事。我错过了什么?

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var btnHi: UIButton!         // Standard button tweeked in view controller
@IBOutlet weak var btnNext: NextButton!     // My custom button via class

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    btnHi.layer.cornerRadius  = btnHi.frame.height / 2
    btnHi.layer.borderWidth   = 3.0
    btnHi.layer.borderColor   = UIColor.darkGray.cgColor

    btnHi.layer.shadowColor   = UIColor.black.cgColor
    btnHi.layer.shadowOffset  = CGSize(width: 0.0, height: 6.0)
    btnHi.layer.shadowRadius  = 8
    btnHi.layer.opacity       = 0.5
    // btnHi.clipsToBounds …
Run Code Online (Sandbox Code Playgroud)

uibutton ios swift

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