小编Joe*_*yLD的帖子

十六进制到十进制 - 斯威夫特

对不起,如果这看起来很简单,我就是无法在网上找到它.

我有一个十六进制的UInt8,我需要得到一个十进制.我如何在swift中实现这一目标?

例如:

"FF"

谢谢

hex swift

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

何时在Swift中初始化委托

我有一个基本问题.我正在开发一个具有许多委托模式的项目,并希望参考有关初始化它们的最佳方法.

以下是我制作的测试代表的一些想法:

选项1:

它失败了因为我在super.init()之前启动了委托给自己

protocol MyClassDelegate {
    func doSomething()
}

class MyClass {

    var delegate: MyClassDelegate!

    init(delegate: MyClassDelegate){
        self.delegate = delegate
    }

    func myClassFuction(){
        self.delegate.doSomething()
    }
}


class ClassConformingToDelegate: NSObject, MyClassDelegate {

    let myClass: MyClass

    override init(){
        myClass = MyClass(delegate: self) // Error because it's called before super.init
        super.init()
    }        

    func doSomething(){
        //called from the delegate
    }
}
Run Code Online (Sandbox Code Playgroud)

选项2:

它的工作原理,但是我冒着让委托成为nil的风险.每次我想调用一个方法时,我是否必须运行'if delegate!= nil'检查?有办法吗?以这种方式初始化委托是一个好习惯吗?

protocol MyClassDelegate {
    func doSomething()
}

class MyClass {

    var delegate: MyClassDelegate!

    init(){
    }

    func myClassFuction(){
        self.delegate.doSomething() // …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa delegates swift2

10
推荐指数
1
解决办法
5348
查看次数

如何在 macOS 上的 SwiftUI 中隐藏默认 CommandMenu?

我正在(尝试)将我的 AppDelegate macOS 应用程序切换到 SwiftUI 生命周期 - 但似乎无法找出如何处理 CommandMenu。我只想删除这些默认菜单项(Fie、Edit、View 等...)。过去,我只是从故事板中删除它们 - 但我在这里不使用故事板。有没有办法在 SwiftUI 中删除这些项目?

我要删除的项目:

我要删除的项目

我知道如何通过以下方式添加新项目:

.commands {
  MyAppMenus()
}  
Run Code Online (Sandbox Code Playgroud)

但这只是将它们添加到现有的菜单项中。

swiftui macos-big-sur

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

删除表格单元格后重新加载详细信息视图-Swift

我有一个拆分视图控制器(主从)。我正在针对iPhone 6 Plus对其进行优化。

这是问题。当您选择一个单元格时,它将执行show-detail segue并在详细视图中显示单元格信息。但是,当您删除一个单元格时,即使该单元格不再存在,详细视图也会保留该单元格的信息。

这是一个例子:

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if (editingStyle == UITableViewCellEditingStyle.Delete) {

    //code that deletes my cell/not needed for example

    tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Left)

    let splitController = self.splitViewController!.viewControllers
    self.detailViewController = splitController.last? as? detailedController
    if let detail = detailViewController {
        detail.title = "Select an item" 
        //detail.title is a variable in the view controller
        //on the views "viewDidLoad" it sets a label.text as title.
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想执行以下操作:detail.title =“ Select a item”,以便视图不再显示已删除的单元格。我试图通过代码进行新的测试。没运气。

有想法吗?

uitableview ios swift

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

以编程方式设置 NSTextField 操作

我在接收来自 NSTextField 的操作时遇到问题。在我的应用程序中,我通过界面构建​​器创建了一些 NSTextField,而其他一些则以编程方式创建。

似乎默认情况下,IB 文本字段会在结束编辑时发送一个操作。但是如果我使用init(frame:)初始化器创建一个 NSTextField ,它只会在输入时发送一个动作。

我意识到我可以通过子类化和覆盖controlTextDidEndEditing函数然后在那里发送一个动作来“解决”这个问题,但是当我调用super.controlTextDidEndEditing它时也会发送一个动作。所以动作然后发送两次......我真的只希望我通过代码创建的文本字段使用选项“在结束编辑时发送”。

没有办法通过代码更改此界面构建器设置吗?

在此处输入图片说明

cocoa nstextfield swift3

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

将NSMenu链接到ViewController-Swift

我正在快速开发优胜美地应用程序,遇到了障碍。

我有多个视图可以正常工作,现在我想实现自定义菜单操作。为了使答案简单,我将如何实现此示例。我想单击一个菜单按钮,并让它更改视图控制器上的文本。我尝试设置IBAction,但是我不确定如何从AppDelegate链接到viewcontroller。您如何连接两者?

我仍在弄清楚这些内容,因此任何见解都会很棒。提前致谢。

*更新。我尝试制作一个对象并以这种方式链接它。没运气。

当您按“测试”时,它会打印测试,但是它在自己的类中。我需要在主ViewController类中做一些事情。我该如何参考?

菜单

xcode nsmenu swift

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