Tag: 委托

iOS8委托方法中的无对象 – 自定义键盘

我正在构build一个自定义的键盘,我在我的InputViewController实现下面的委托方法。 但我总是得到_textInput = nil_ – (void)textWillChange:(id<UITextInput>)textInput – (void)textDidChange:(id<UITextInput>)textInput – (void) selectionWillChange:(id<UITextInput>)textInput – (void) selectionDidChange:(id<UITextInput>)textInput 有谁知道如何解决它? 有nil理由? 我是否需要自己执行某些操作?

在C#中使用lambda创build的委托的生命周期是什么?

Lambdas很好,因为它们提供了简洁和本地化以及一个额外的封装forms 。 而不必编写只能用于lambda的函数。 在想知道他们是如何工作的时候,我直觉地认为他们可能只创build一次 。 这启发了我创build了一个解决scheme,它允许通过使用lambda作为其创build范围的标识符,将类成员的范围限制在一个特定范围之外 。 这个实现虽然可能是矫枉过正的(仍在研究它),但certificate了我的假设是正确的。 一个较小的例子: class SomeClass { public void Bleh() { Action action = () => {}; } public void CallBleh() { Bleh(); // `action` == {Method = {Void <SomeClass>b__0()}} Bleh(); // `action` still == {Method = {Void <SomeClass>b__0()}} } } lambda是否会返回一个新的实例,还是总是保持不变?

委托与C#中的接口

只要我正在努力挖掘代表的用途和目的,我想提出这个问题,尽pipe可能有类似的提法。 我知道委托作为函数指针在C ++中使用。 事实上,如果在C#中,它们主要作为接口和多态的替代方法。 既然我可以创build一个特定的类的子类,并为它们提供适当的方法,那么除此之外还有什么代表呢? 代表们使用过程中是否存在规定其使用或只是代码可维护性的情况? 你会推荐他们在接口上的广泛部署? 我只是谈论代表,我想把他们的angular色与事件angular色区分开来。

代表的非保留数组

在Cocoa Touch项目中,我需要一个特定的类不仅有一个委托对象,但其中有很多。 看起来我应该为这些代表创build一个NSArray; 问题是,NSArray将保留所有这些代表,而不应该(通过约定的对象不应该保留他们的代表)。 我应该写我自己的数组类,以防止保留或有更简单的方法? 谢谢!

代表和callback是相同的还是相似的?

代表和callback一样吗? 或者他们有某种关系?

Func委托与refvariables

public object MethodName(ref float y) { //method } 我如何为这个方法定义一个Func委托?

我怎么知道UICollectionView已经完全加载?

每当UICollectionView被完全加载时,我必须做一些操作,即当时所有的UICollectionView的数据源/布局方法都应该被调用。 我怎么知道? 有没有任何委托方法知道UICollectionView加载状态?

一个构造函数作为代表 – 它可能在C#中?

我有一个类如下: class Foo { public Foo(int x) { … } } 我需要传递给某个方法一个委托像这样: delegate Foo FooGenerator(int x); 是否有可能作为FooGenerator值直接传递构造函数,而不必键入: delegate(int x) { return new Foo(x); } ? 编辑:对于我个人的使用,这个问题是指.NET 2.0,但3.0 +提示/响应也是受欢迎的。

检查是否已经实现了一个可选的协议方法

有谁知道最好的方法来检查是否已经实现了一个可选的协议方法。 我试过这个: if ([self.delegate respondsToSelector:@selector(optionalProtocolMethod:)] ) 代表在哪里: id<MyProtocol> delegate; 但是,我收到一个错误,说在函数respondsToSelector:没有在协议中find!

如何创build一个asynchronous方法

我在我的C#应用​​程序中有简单的方法,它从FTP服务器中挑选文件并parsing它,并将数据存储在数据库中。 我希望它是asynchronous的,以便用户在App上执行其他操作,一旦parsing完成,他必须得到消息“parsing已完成”。 我知道它可以通过asynchronous方法调用来实现,但我不知道该怎么做,谁能帮助我?