快速使用选择器不起作用

时间:2014-12-01 07:45:27

标签: ios swift selector osx-yosemite xcode6.0.1

我在Swift中创建了UISwipeGestureRecognizer个对象。下面没有编译错误/警告。清洁和构建应用程序工作完美。

let rightSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, 
                                  action: "handleGesture:")
                                  ^^^^^ Error Part ^^^^^

但它在运行时提供了一个例外。

dyld: lazy symbol binding failed: Symbol not found: __TFSS37_convertFromBuiltinUTF16StringLiteralfMSSFTBp17numberOfCodeUnitsBw_SS
Referenced from:<AppPath>.app/AppName
Expected in: <AppPath>.app/Frameworks/libswiftCore.dylib

此处<AppPath>是模拟器的应用程序路径。

操作系统:Mac OS X Yosemite 10.10

Xcode版本:Xcode 6.0.1(6A317)

我尝试了什么;

我能够发现问题与action: "handleGesture:"部分有关。所以我猜这里没有使用合适的选择器。

我尝试使用Selector但未完成。

  1. NSSelectorFromString("handleGesture:")
  2. Selector("handleGesture:")
  3. Selector.convertFromStringLiteral("handleGesture:")
  4. 修改

    相同的行/代码适用于其他应用程序。我无法弄清楚为什么它从这一行停止执行,因为相同的代码适用于其他应用程序。

1 个答案:

答案 0 :(得分:1)

试试这个为我工作

var swipeEdit:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("selector:"))
swipeEdit.direction = UISwipeGestureRecognizerDirection.Left;
element.addGestureRecognizer(swipeEdit);

有关详细信息,请查看堆栈溢出中的线程

dyld: Symbol not found: error how to resolve this issue