相关疑难解决方法(0)

在视图控制器之间传递数据

我是iOS和Objective-C以及整个MVC范例的新手,我坚持以下内容:

我有一个视图作为数据输入表单,我想让用户选择多个产品.产品列在另一个带有a的视图中,UITableViewController我启用了多个选择.

我的问题是,如何将数据从一个视图传输到另一个视图?我将UITableView在数组中保留选择,但是如何将其传递回上一个数据输入表单视图,以便在提交表单时将其与其他数据一起保存到Core Data?

我已经四处浏览并看到一些人在app delegate中声明了一个数组.我读了一些关于单身人士的事情,但不明白这些是什么,我读了一些关于创建数据模型的内容.

执行此操作的正确方法是什么?我将如何进行此操作?

model-view-controller objective-c uiviewcontroller ios swift

1340
推荐指数
34
解决办法
44万
查看次数

如何在'纯'Swift中创建弱协议引用(不带@objc)

weak引用似乎在Swift中不起作用,除非a protocol声明为@objc,我不想在纯粹的Swift应用程序中.

此代码给出了编译错误(weak不能应用于非类类型MyClassDelegate):

class MyClass {
  weak var delegate: MyClassDelegate?
}

protocol MyClassDelegate {
}
Run Code Online (Sandbox Code Playgroud)

我需要为协议添加前缀@objc,然后才能工作.

问题:什么是"纯粹的"Swift方式来实现weak delegate

delegates swift swift-protocols

553
推荐指数
4
解决办法
11万
查看次数

代表们迅速?

如何做一个代表,即NSUserNotificationCenterDelegate快速?

delegates delegation swift

129
推荐指数
7
解决办法
14万
查看次数

70
推荐指数
4
解决办法
9万
查看次数

为什么我需要在Struct-Swift中明确声明一个可选值为nil

以下是文档的引用:

如果您的自定义类型具有逻辑上允许具有"无值"的存储属性 - 可能因为在初始化期间无法设置其值,或者因为在稍后的某个时间点允许它具有"无值" - 请使用可选类型.可选类型的属性将自动初始化,值为nil,表示该属性在初始化期间故意具有"无值".

如果我用一个类来做这件事就可以了:

class MyClass {
    var someProperty: String?
}

var myClass = MyClass()
myClass.someProperty // Shows nil
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用结构类型执行此操作,则会在初始化时出错:

struct MyStruct {
    var someProperty: String?
}

// ERROR
var myStruct = MyStruct()
Run Code Online (Sandbox Code Playgroud)

错误:

缺少参数'someProperty'的参数

我可以通过明确地声明它来解决这个问题:

struct MyStruct {
    var someProperty: String? = nil
}

// Valid
var myStruct = MyStruct()
Run Code Online (Sandbox Code Playgroud)

鉴于文档,我希望任何类型的属性作为选项被默认为nil.有没有理由我必须在结构上明确声明它?

为什么?

没有什么好理由,就像很多人一样,我只是在试验.

swift

9
推荐指数
1
解决办法
9279
查看次数

从自定义UITableViewCell获取数据并返回到UITableViewController

我有一个UITableView定制组成UITableViewCells.在每个单元格中,有一个UILabel和一个UISlider.有人知道如何在其中一个滑块的值发生变化时,将滑块的新值从自定义UITableViewCell(在单独的文件中)发送到UITableViewController,以便我可以更新填充表的数组?

到目前为止,我最接近的是失败的黑客攻击:setSelected当滑块值发生变化时触发事件.虽然这突出了更改后的自定义单元格,但事件并未didSelectRowAtIndexPath在中获取UITableViewController.

自定义UITableViewCells 虽然代码总是受到赞赏,但我正在寻找概念/方法解决方案.

杰米,提前谢谢你

uitableview ios swift

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

Swift 2.2:视图控制器iOS之间传递值

我试图在两个视图控制器之间传递值,但它失败了.当按下第一视图控制器中的按钮时 ,第二视图控制器(其为表视图控制器)以模态呈现.

当用户点击第二视图控制器中存在的任何单元格时,它被解除,并且单元格的值被设置为第一视图控制器中存在的按钮.

以下是我用过的代码:

ForgotPasswordViewController

class ForgotPasswordViewController: UIViewController {

    var securityQuestion = ""

    @IBOutlet weak var btnSecurityQuestion: UIButton!

    //MARK: - viewDidLoad
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    var secQuestionAccessor: (String) {
        get{
            return securityQuestion
        }set(param) { print("param : \(param)") //Value is correctly printed in console
           securityQuestion = param
            print("securityQuestion : \(securityQuestion)")  //Value is correctly printed in console
        }
    }

    //MARK: - viewWillAppear
    override func viewWillAppear(animated: Bool) {        
        . . .

        print("secQuestionAccessor : \(secQuestionAccessor)") //Value is empty …
Run Code Online (Sandbox Code Playgroud)

xcode storyboard ios segue swift

0
推荐指数
1
解决办法
219
查看次数