草庐IT

swift - 如何将委托(delegate)与 NSKeyedUnarchiver 一起使用?

我正在使用NSKeyedUnarchiver取消存档一个对象,并想使用委托(delegate)(NSKeyedUnarchiverDelegate),但我的委托(delegate)没有被调用。存档和取消存档工作正常,但未调用委托(delegate)(unarchiver和unarchiverDidFinish)。有人可以帮忙吗?我有以下实现:classBlobHandler:NSObject,NSKeyedUnarchiverDelegate{funcload()->MYOBJECTCLASS{letdata:NSData?=getBlob();varmykeyedunarchiver

ios - UIImagePickerController 委托(delegate)未调用 Swift 3

表面上我认为这一定是委托(delegate)问题,但在请求委托(delegate)后返回了正确的委托(delegate)。我创建了一个ImagePicker类来处理所有UIImagePickerController的东西。在需要调用委托(delegate)方法之前,一切正常。在我选择一张照片后,imagePicker关闭,但didFinishPickingMediaWithInfo方法从未被调用。请帮忙!谢谢:)funcselectPhoto(){imagePicker.delegate=self//DelegategetssethereletphotoAsk=UIAlertContr

ios - 如何连接来自 xib 中自定义类的委托(delegate)?

我创建了一个类“DeletableImageView”(.swift+.xib),它使用我通过一个称为委托(delegate)的属性定义为“DeletableImageViewDelegate”的协议(protocol)。为了清楚起见,示例:DeletableImageView.swiftprotocolDeletableImageViewDelegate{funcdeleteImageWithTag(tag:Int!)->(Bool)funcaddImageOnViewWithTag(tag:Int!)->(Bool)...}classDeletableImageView:UIVie

delegates - 在 Swift 中实现带闭包的委托(delegate)?

假设我正在使用Swift并在框架中调用一个需要委托(delegate)的方法。是否可以提供闭包并直接内联实现委托(delegate)?我希望能够像Java中的匿名类一样使用它。例如:letcnx:NSURLConnection=NSURLConnection(request:request,delegate:{funcconnection(connection:NSURLConnection!,didReceiveDatadata:NSData!){//appenddata}funcconnectionDidFinishLoading(connection:NSURLConnectio

swift - NSNotificationCenter 与委托(delegate)——哪个更快?

我已经阅读了很多有关每种方法的优缺点的文章,而且我知道委托(delegate)通常是针对一个听众的,而通知是针对许多听众的。问题在于性能。我已阅读NSNotificationCentervsdelegation(usingprotocols)?我正在通过通知将音频信号从麦克风发送到另一个类(class)。我知道在这里我应该使用委托(delegate),但我的问题是委托(delegate)会更快吗?我有帧率下降的问题,我想知道原因是否可能是使用通知而不是委托(delegate),或者两者之间没有关系? 最佳答案 对于那些对性能感兴趣的

ios - 未调用 Swift 委托(delegate)

我有一个委托(delegate)View,我想在按下按钮时在GameController中调用numpadView(numpadView:),但是我无法让它工作。touchesBegan()的重载工作正常,它实际上是pressDelegate?.numpadView(self)的行,它没有调用GameController类中的委托(delegate)函数。我很困惑缺少什么才能使其正常工作?为了简单起见,我清理了代码,只留下与问题相关的基本部分。NumpadView.swiftprotocolNumpadPressDelegateProtocol{funcnumpadView(numpa

delegates - 为什么使用委托(delegate)和协议(protocol)而不是仅仅在 Swift 中传递一个实例?

我试图在Swift中的View之间传递变量,并遇到了相当抽象的协议(protocol)和委托(delegate)概念。然后我尝试在第二个View中存储对第一个View的引用并直接调用其上的函数。这似乎有效:屏幕1classScreen1:UIViewController{varmyName="Screen1"overridefuncviewDidLoad(){super.viewDidLoad()}////checkingiftheseguetoscreen2iscalledandthenpassingareference//overridefuncprepareForSegue(se

swift - Swift 5 编译器有时不调用子类中的委托(delegate)方法

编辑:作为sunshinejr指出here,这个问题已经修复,将与下一个Xcode/Swift版本一起发布。在使用Swift4和Swift5代码库将Xcode10.1更新到Xcode10.2后,我看到了很多奇怪的行为。问题之一是在一个ViewController上不再调用ScrollView委托(delegate)方法。简化的View层次结构如下:|ScrollView(ParentScrollView)|--StackView|----ScrollView(ChildScrollView)|----ScrollView(ChildScrollView)|----ScrollView(

ios - 从 View Controller 调用应用程序委托(delegate)方法

我想知道是否可以从另一个ViewController调用应用委托(delegate)方法。当应用启动时,application(application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[NSObject:AnyObject]?)->Booli方法被调用。我可以从另一个ViewController第二次调用这个方法吗? 最佳答案 不确定为什么要这样做。你可能不应该,但为了回答这里的问题,它是://getareferencetotheappdelegate

ios - UITableView 委托(delegate)使用扩展 swift

我认为这是一个相当简单的问题。我已将我的UITableView委托(delegate)/数据源分离到它们自己的扩展中//MARK:-UITableViewDataSource/DelegateextensionTweetsViewController:UITableViewDataSource{functableView(tableView:UITableView,numberOfRowsInSectionsection:Int)->Int{return0}functableView(tableView:UITableView,cellForRowAtIndexPathindexPat