小编Jam*_*mes的帖子

在ViewController和ContainerViewController之间传递数据

我正在开发一个应用程序,需要在view和containerView之间传递数据.我需要从两个视图发送数据和接收数据.

让我解释一下:

我可以通过协议更改Label Master(触摸容器按钮),但我无法更改标签容器(触摸主按钮).发生的事情是Master通过以下方式与容器连接.但是没有跟随Container链接到Master.

我试图添加但是segue,但它有效.

在此输入图像描述

主视图控制器:

import UIKit

protocol MasterToContainer {
    func changeLabel(text:String)
}

class Master: UIViewController, ContainerToMaster {

    @IBOutlet var containerView: UIView!

    var masterToContainer:MasterToContainer?

    @IBOutlet var labelMaster: UILabel!


    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "containerViewSegue" {
            let view = segue.destinationViewController as? Container
            view!.containerToMaster = self
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func button_Container(sender: AnyObject) {
        masterToContainer?.changeLabel("Nice! It's work!")
    }


    func changeLabel(text: String) {
        labelMaster.text = text …
Run Code Online (Sandbox Code Playgroud)

segue uistoryboardsegue swift swift-protocols swift2

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

在Swift中使用Container View进行委派

我正在为iPad Pro开发一款应用程序.在这个应用程序中,containerView用于添加其他内容views并与它们进行交互.

首先,我创建了一个协议:

protocol DataViewDelegate {
    func setTouch(touch: Bool)
}
Run Code Online (Sandbox Code Playgroud)

然后,我创建了我的第一个视图控制器

在此输入图像描述

import UIKit

class ViewController: UIViewController, DataViewDelegate {

    @IBOutlet var container: UIView!
    @IBOutlet var labelText: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func setTouch(touch: Bool) {
        if touch == true {
            labelText.text = "Touch!"
        }
    }
Run Code Online (Sandbox Code Playgroud)

}

最后,我创建了一个嵌入在containerView中的视图.

在此输入图像描述

import UIKit

class ContainerViewController: UIViewController {

    var dataViewDelegate: DataViewDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func touchMe(sender: AnyObject) {
        dataViewDelegate?. setTouch(true)
    }
Run Code Online (Sandbox Code Playgroud)

}

但由于某种原因,没有任何反应,第一个视图控制器在setTouch函数中什么都没有收到.

我的问题是:在这种情况下,使用容器,如何在两个ViewsControllers之间进行通信?

uiviewcontroller uicontainerview swift swift2 swift2.1

9
推荐指数
2
解决办法
4157
查看次数

滑动动画以删除UICollectionView中的Cell - Swift 2.0

我创建了一个UICollectionView像这样的图像的应用程序:

在此输入图像描述

添加了两个手势:

第一个(向上)将擦除单元格.

第二个(向下)将更新单元格(获取CoreData的新数据).功能很好,但没有动画.iOS有一个非常酷的动画拖动单元格,单元格消失.

我很快就是动画的初学者,所以当它变得有点失落时.

我的问题是:如何添加占据整个单元格的动画?

我在网站上阅读了一些答案,但都是在Object-C中(就像这样).

有人能帮我吗?

animation uicollectionview uicollectionviewcell swift

8
推荐指数
1
解决办法
7035
查看次数

在Swift 2中更改数组中字典的值

我正在尝试更改数组中字典的值.我在PlayGround中制作了一个小型原型:

var arr = [NSDictionary]()
arr.append(["name":"blue","view":"<object id=\"6787\">","visible":"true","locked":"false"])
arr.append(["name":"yellow","view":"<object id=\"345\">","visible":"true","locked":"false"])
arr.append(["name":"green","view":"<object id=\"123\">","visible":"false","locked":"true"])

//test remove
arr.removeAtIndex(2)

arr.count

//test edit
let nameChange = arr[1]
nameChange.setValue("black", forKey: "name")

arr[1]
Run Code Online (Sandbox Code Playgroud)

但是发生了错误,我无法解决: 在此输入图像描述

有人能帮帮我吗?

nsdictionary nsarray swift swift2

2
推荐指数
1
解决办法
1450
查看次数

Alpha在UITableViewCell中不起作用

我正在继续推出针对iPad的iOS应用.并问了一个问题,今天上午,我得到了正确的回答我的问题在网站上.但由于某种原因,Alpha不在我桌子的细胞中工作.

这是我的View tie TableView:

在此输入图像描述

这是我的Swift代码:

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    let data:[String] = ["Row 0","Row 1", "Row 2","Row 3","Row 4","Row 5","Row 6"]

    @IBOutlet var tableView: UITableView!
    var rowSelected:Int! = nil

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell:Cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! Cell
        if rowSelected != nil {
            if rowSelected > indexPath.row {
                cell.alpha = …
Run Code Online (Sandbox Code Playgroud)

uitableview ios swift

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

获取Swift中UIPanGestureRecognizer的起点和终点

我正在使用UIPanGestureRecognizer一个项目,我想采取起点和终点.

我试图做touchesBegin,但没有得到我需要的代码.

我怎样才能得到起点和终点UIPanGestureRecognizer

uipangesturerecognizer swift swift2 swift2.1

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

Python:将 MongoDB 迁移到 DynamoDB - 浮点错误

我开始在日常家务中使用 Python,我发现了一个我无法解决的问题。有了这个脚本,只修改集合名(MongoDB)和表名(DynamoDB),整个过程在其他集合中运行的非常好。

在一个集合中(下面的例子),脚本执行得不是很好,因为集合中有浮动数据,比如地理定位数据

import sys

# Mongo
import pprint
from pymongo import MongoClient
Client = MongoClient('mongodb://localhost:27017/')
db = Client["developer"]
collection = db["geolocation"]

# Dynamo
import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('geolocation')


# migrate
count = 0
with table.batch_writer() as batch:
    for migrate in collection.find():
        del migrate['__v']
        del migrate['_id']

        batch.put_item(Item= migrate)

        # To show process
        count += 1
        print(str(collection.count()) + '::' + str(count))
Run Code Online (Sandbox Code Playgroud)

发生的错误是:不支持浮点类型。改用十进制类型

我需要帮助创建一个 def 来扫描对象并将 float 的值替换为小数。有人能帮我吗?

python mongodb amazon-dynamodb

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