小编Che*_*lme的帖子

在Swift中使用UITapGestureRecognizer中的参数

我试图使用动作调用带参数的函数,UITapGestureRecognizer我无法找出任何替代方案.

这是一个假设用indexPath参数调用doubleTap函数的手势.

var gestureDoubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "doubleTap(indexPath)")
Run Code Online (Sandbox Code Playgroud)

这是假设要调用的函数.

func doubleTap(indexPath: NSIndexPath) {
    NSLog("double tap")
    NSLog("%@", indexPath.row)
}
Run Code Online (Sandbox Code Playgroud)

如何doubleTap使用indexPath参数调用该函数?

谢谢你的所有建议.

编辑 - 这是我的整个代码,它基本上是设置对象'名称'所以我的第二个viewController可以得到它并使用它

import UIKit
class viewController1: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {

    @IBOutlet weak var collectionView: UICollectionView!
    var imageArray:[String] = []
    var name : AnyObject? {
        get {
        return NSUserDefaults.standardUserDefaults().objectForKey("name")
        }
        set {
            NSUserDefaults.standardUserDefaults().setObject(newValue!, forKey: "name")
            NSUserDefaults.standardUserDefaults().synchronize()
        }
    }

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return imageArray.count
    } …
Run Code Online (Sandbox Code Playgroud)

ios swift swift2

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

从索引路径获取索引整数从Swift中的单元格获取

这是两个功能.

第一个功能是我给我的每个单元格做手势UICollectionView.

我试图在发生双击手势事件时将indexPath从此函数发送到我的第二个函数.所以我的行动电话doubleTap:.

在我的第二个函数中,我试图使用发送者获取indexPath单元格.当我双击第一个单元格时,我能够得到一个indexPath,当记录时,打印出"0xc000000000078016> {length = 2,path = 0 - 0}".

当我点击第一个单元格时,如何得到整数0?

欢迎所有建议.谢谢大家.

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    var cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as myViewCell

    //adding single and double tap gestures for each cell
    /////////////////////////////
    //ISSUE IS SENDING indexPath TO doubleTap FUNC
    var gestureDoubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "doubleTap:")
    gestureDoubleTap.numberOfTapsRequired = 2
    cell.addGestureRecognizer(gestureDoubleTap)

    var gestureSingleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "singleTap")
    gestureSingleTap.numberOfTapsRequired = 1 …
Run Code Online (Sandbox Code Playgroud)

ios swift swift2

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

Dart:哪个是更好的做法?使用“late”或构造函数初始值设定项列表

我正在使用新的空安全类型对 Dart 类进行建模。我相信有两种有效的方法来初始化从参数计算的不可空属性。

对于本例,我们将使用Favorite 类。

此类在构造函数中使用初始值设定项列表。

class Favourite {
  int favouriteId;

  Favourite({required this.favouriteId});

  Favourite.mapFromJson(dynamic json)
      : this.favouriteId = json["favouriteId"];
}

Run Code Online (Sandbox Code Playgroud)

此类使用“late”关键字。

class Favourite {
  late int favouriteId;

  Favourite({required this.favouriteId});

  Favourite.mapFromJson(dynamic json) {
    this.favouriteId = json["favouriteId"];
  }
}

Run Code Online (Sandbox Code Playgroud)

你什么时候会使用其中一种而不是另一种?使用“迟到”感觉有风险。如果我添加另一个命名构造函数,编译器不会抱怨“favouriteId”未初始化。

还有其他选择吗?

谢谢你!

dart flutter dart-null-safety

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

标签 统计

ios ×2

swift ×2

swift2 ×2

dart ×1

dart-null-safety ×1

flutter ×1