标签: protocols

这段代码有什么问题?

@protocol MyViewDelegate <NSObject>
- (void) didFinishProcessing:(MyView*)myView; //compiler stops here with error
@end

@interface MyView : MySuperclass {

id<MyViewDelegate> _delegate;       
}

@property (nonatomic, retain) id<MyViewDelegate> delegate;

@end
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我会在MyView之前得到" 预期的").错误在哪里?

iphone protocols objective-c

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

对象"发送消息"是什么意思?协议如何帮助对象通告它支持的消息?

对象"发送消息"是什么意思?协议如何帮助对象宣传它支持的消息?有人有例子吗?

iphone cocoa cocoa-touch protocols objective-c

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

是xmpp适合聊天室应用(不是信使)?

你对聊天室应用程序的xmpp协议有什么经验吗?不适用于信使IM.

chat xmpp protocols social-networking

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

什么是objective-c中的协议

可能重复:
什么是协议

如何在Objective-c中使用协议?它的优点是什么?

感谢和问候+

protocols interface objective-c

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

需要帮助来理解Perl脚本

我正在使用使用PC Link数据协议的万用表VA18B进行串行通信.问题是我找不到该协议的任何文档.我唯一得到的是一个解码帧的Perl脚本(据我所知,帧由14个字节组成).不幸的是,对于根本不了解Perl的人来说,脚本非常复杂.

有人可以解释下面的代码吗?

sub decode_bin_str {
    my ($AC, $DC, $auto, $unknown1,
        $minus, $digi1, $dot1, $digi2, $dot2, $digi3, $dot3, $digi4,
        $micro, $unknown2, $kilo, $diode_test,
        $milli, $percent, $mega, $cont_check,
        $unknown3, $ohm, $rel, $hold,
        $amp, $volt, $hz, $unknown4,
        $min, $unknown5, $celsius, $max) = shift =~
           /^(.)(.)(.)(.)(.)(.{7})(.)(.{7})(.)(.{7})(.)(.{7})
        (.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.) *$/x;

    my %digi = (
        "1111101" => 0,
        "0000101" => 1,
        "1011011" => 2,
        "0011111" => 3,
        "0100111" => 4,
        "0111110" => 5,
        "1111110" => 6,
        "0010101" => 7,
        "1111111" => 8,
        "0111111" => 9,
    ); …

perl protocols

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

为什么这个代表 - 协议没有响应?

我有一个名为dateSelectViewController的方法在我的.h文件中声明为协议:

@class DateSelectViewController;
@protocol DateSelectViewControllerDelegate 

- (void)dateSelectViewController:(DateSelectViewController *)sender
                         theDate:(id)stringDate;

@end
Run Code Online (Sandbox Code Playgroud)

在协议下面,我宣布一个代表:

@property (nonatomic, weak) id <DateSelectViewControllerDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)

在实现文件中,我合成了委托,并在我的视图中按下完成按钮时向委托发送消息:

- (IBAction)DonePressed:(id)sender {
    NSDate *chosen = [datePicker date];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    [formatter setDateFormat:@"MM/dd/yyyy"];
    NSString *formatedDate = [formatter stringFromDate:chosen];

    //sending a message to the delegate
    [self.delegate dateSelectViewController:self theDate:formatedDate];

    [self.navigationController popViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

在被委派给的.h文件中,我正在导入委托人.h文件.在.m文件中我符合协议:

@interface MakePlantTVC ()<DateSelectViewControllerDelegate>
- (void)dateSelectViewController:(DateSelectViewController *)sender
                     theDate:(id)stringDate
{
    self.displayDate.text = stringDate;
    NSLog(@"delegate working");
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这一点正在发挥作用.当在我的委托者类中按下完成按钮时,该按钮会按预期执行并弹出视图控制器,但就像消息永远不会发送给代理一样.起初我以为我可以向nil发送消息,但是它的类型为id,所以情况应该不是这样.为什么没有发送消息?

delegates protocols objective-c ios

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

在URL前面排除URL方案

最近我在CDN文档中看到过这些类型的URL:

//cloudflare.cdnjs.com/foo
Run Code Online (Sandbox Code Playgroud)

我意识到他们缺乏http:https:在他们面前.

嗯,我想,并尝试在本地测试中实现它们,并意识到它们不起作用(它们已经解决//file://,尽管应该是这样http:).

然后,当我将其上传到我的测试服务器时,它工作(解决//http://).

所以我想知道,为什么有人会在没有协议的情况下写它?

谢谢.

html javascript protocols

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

EXC_BAD_INSTRUCTION对象数组asign Swift

我有一个Printable对象数组,但我需要它们Equatable和AnyObject兼容.

private(set) var items: [Printable] = []

class func withItems<T: AnyObject where T: Equatable, T: Printable>(items: [T], selectedItem: T? = nil) {
   ... instance init ...
   instance.items = items
}
Run Code Online (Sandbox Code Playgroud)

它导致EXC_BAD_INSTRUCTION:

致命错误:无法从Objective-C桥接数组

这是对这个问题的一次尝试:

为什么?

protocols ios exc-bad-instruction swift

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

Objective C - 循环遍历NSArray,其中所有对象都继承自相同的协议

我有一个NSArray,其中所有对象都从相同的协议继承方法.我想做的是:

NSArray* arr =  [NSArray arrayWithObjects:[Type_1 init],[Type_2 init], nil];

for(Protocol *element in arr)
{
  [element do_this];
}
Run Code Online (Sandbox Code Playgroud)

arr是具有对象Type_1和Type_2的数组,它们都从名为Protocol的协议继承.

问题是协议不能用作for循环中的类型.我该如何解决这个问题?

types protocols objective-c for-in-loop

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

swift中的可选协议方法,不使用@objc

在swift中使用@objc,我们可以在协议中创建一个可选方法

@objc protocol MyProtocol {
  @objc optional func anOptionalMethod()
}
Run Code Online (Sandbox Code Playgroud)

但是如何在不使用@objc的情况下创建可选的协议方法?

methods protocols optional swift swift-extensions

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