我在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
但未完成。
NSSelectorFromString("handleGesture:")
Selector("handleGesture:")
Selector.convertFromStringLiteral("handleGesture:")
修改
相同的行/代码适用于其他应用程序。我无法弄清楚为什么它从这一行停止执行,因为相同的代码适用于其他应用程序。
答案 0 :(得分:1)
试试这个为我工作
var swipeEdit:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("selector:"))
swipeEdit.direction = UISwipeGestureRecognizerDirection.Left;
element.addGestureRecognizer(swipeEdit);
有关详细信息,请查看堆栈溢出中的线程