标签: protocols

使用XCode 4在视图中添加更多委托协议

@interface WinesViewController : UITableViewController <UIActionSheetDelegate> {
    NSMutableArray *sortedObjects;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,添加了UIActionSheetDelegate协议,因为我使用UIActionSheet对TableView进行排序,它需要一个委托.现在我在DetailViewController中添加一个SwipeGestureRecognizer,从Detail View中访问TableView中的下一个单元格.我正在使用的教程告诉我在TableViewController中为DetailViewController添加委托协议.它告诉我以与我已经添加UIActionSheetDelegate完全相同的方式添加它,那么现在如何为DetailViewController添加委托?

iphone xcode delegates protocols view

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

调用可选协议方法时崩溃

我使用一些带有一些可选方法的协议.

@protocol PhotoDropDownDelegate <NSObject>

@optional
    - (void)getEditResult:(NSString *)status;
    - (void)getImageForDiagram:(UIImage *)image andImagePath:(NSString *)imagePath;
    - (void)dismissPhotoDropDown;

@end
Run Code Online (Sandbox Code Playgroud)

我把它分配给一个班级

photoDropDownViewController.photoDropDownDelegate = self;
Run Code Online (Sandbox Code Playgroud)

我只使用一种方法

- (void)getImageForDiagram:(UIImage *)image andImagePath:(NSString *)imagePath
{
    // Make a Image on center of screen
    PhotoLayer *photoLayer = [PhotoLayer nodeWithLengthOfShape:300 andHeight:200 andPathToImage:imagePath];
    photoLayer.position = ccp(400, 500);
    photoLayer.nameObject = [self makeNewName_ForShape];    
    photoLayer.isSelected_BottomRightElip = YES;
    photoLayer.isSelected = YES;


    [photoLayer doWhenSelected_Elip_BottomRight];
    [photoLayer show_Elip];

    [list_Shapes addObject:photoLayer];

    [self addChild:photoLayer];
    photoLayer = nil;

    // Set Button Delete
    selected_GerneralShapeLayer = (GerneralShapeLayer *) [list_Shapes lastObject];
    [self updateStatusForButtonDelete];
} …
Run Code Online (Sandbox Code Playgroud)

iphone protocols ios

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

tcp 协议实际上是如何工作的?

于是我开始学习tcp/ip协议栈。但是在所有来源中对 tcp 协议的描述过于模糊。主要的想法是我想知道 tcp 协议实际上是如何以编程方式实现的。应用的协议如何与 tcp 协议通信。这个通讯的接口是什么。目前我认为应用协议是直接在应用程序中实现的:假设浏览器实现了 HTTP 协议,并且该协议与在操作系统中实现的 tcp 协议的集中实现进行通信。这是正确的,我缺乏可以从中学习的资源。请推荐我阅读一些东西。

tcp protocols telecommunication

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

找不到“xxxxx”的协议声明;您的意思是 'yyyyy'

我在 Xcode 项目中有多个协议,它会给出这样的错误。帮助我错误:-> 找不到“ButtonDelegate”的协议声明,您的意思是“CustomDelegate”吗?提前致谢图片

委托头文件

#import <UIKit/UIKit.h>
#import "Constant.h"

@protocol ButtonDelegate <NSObject>
-(void)ChatButtonClicked;
@end

@interface DonttreadonmeCell : UITableViewCell<UIGestureRecognizerDelegate,UITextViewDelegate>{

id <ButtonDelegate> Buttondelegate;

 .h File

#import <UIKit/UIKit.h>
#import <Twitter/Twitter.h>
#import "JSONParsing.h"
#import "Facebook.h"
#import "DonttreadonmeCell.h"
#import "Constant.h"



 @class DonttreadonmeCell;

    @interface BookTextPeregraphselectedViewController :   UIViewController<MFMailComposeViewControllerDelegate,FBSessionDelegate,FBRequestDelegate,ButtonDelegate,FBLoginDialogDelegate,FBDialogDelegate,JSONParsingDelegate,UITableViewDataSource,UITableViewDelegate,UIGestureRecognizerDelegate,UITextViewDelegate>{
Run Code Online (Sandbox Code Playgroud)

iphone protocols ios xcode4.5

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

DBMSSOCN 代表什么?

我知道它是什么,它是用于数据库连接的 Winsock TCP/IP 协议,而不是它的首字母缩写词。

也许是这样的:

数据库 微软 SOCket 网络?

看起来有点笨重。我今天和一个 SQL 实习生一起工作,并意识到我实际上并不知道它代表什么。搜索只找到了对协议及其工作原理的解释。

有任何想法吗?

sql-server protocols

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

TCP 三向握手 - Piggybacking ACKs

我理解在三向握手中,有时接收端会在建立连接(piggybacking)时发送一个SYNACK数据包,但是它什么时候发送一个SYN然后一个ACK数据包?

例如:

->同步

<-SYN_ACK

->确认

相对:

->同步

<-同步

->SYN_ACK

谢谢!

networking tcp protocols handshake

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

Swift 2协议扩展使用

我正试图用Swift 2赶上这种面向协议的编程酷,但我现在已经迷失了.

我正在尝试将该理论应用于实际用例,所以让我们从最明显的开始:

假设我有一个UITextField并且我希望有许多协议(例如phone,numeric,lengthLimited ......)符合UITextFieldDelegate并覆盖该textField:shouldChangeCharactersInRange:replacementString方法以完成所需的行为.

甚至可以使用带有此扩展名的"Extensions.swift"文件并将所需的协议分配给UITextField(例如,numeric,lengthLimited)?那将非常有用.如果是这样,有没有办法将协议分配给一个UITextField插座,或者我需要子类化UITextField并使其符合所需的协议?如果是这种情况,那么我没有看到使用协议扩展而不是旧的子类化的太多优势.

protocols ios swift protocol-extension

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

类型不符合协议 - 另一个协议的类型别名

我正面临一个恼人的问题,我希望你们能帮我解决这个问题。

我有两个协议和一个类:

protocol Prot1: AnyObject {

}

protocol Prot2 {
    associatedtype T: AnyObject
}

class TheClass: Prot2 {
    typealias T = Prot1
}
Run Code Online (Sandbox Code Playgroud)

这导致编译器说:

  • 类型“TheClass”不符合协议“Prot2”。

在导航中,它显示了更多详细信息:

  • 协议需要嵌套类型“T”
  • 可能预期的匹配“T”(又名“Prot1”)不符合“AnyObject”

我真的需要关联类型是AnyObject类型。这就是我需要帮助的原因。

有谁知道如何解决这个问题?

非常感谢。

OBS:我使用的是 swift 2.3

protocols ios swift2

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

Laravel 中的协议错误

我正在使用Laravel 5.6.23

这是我的错误信息:

UnexpectedValueException    
There is no existing directory at "C:\timereg-project\Laravel\storage\logs" and its not buildable: Protocol error
Run Code Online (Sandbox Code Playgroud)

目录日志确实存在于我的 Laravel 项目中。我试过这个不起作用:

php artisan cache:clear
php artisan clear-compiled
Run Code Online (Sandbox Code Playgroud)

我试过这个也不起作用:

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

如果我试试这个:

sudo chmod -R 777 storage
sudo chmod -R 777 storage
Run Code Online (Sandbox Code Playgroud)

我得到错误

chmod: cannot access 'Laravel/storage/logs': no such file or directory
Run Code Online (Sandbox Code Playgroud)

不起作用的命令:

composer update
Run Code Online (Sandbox Code Playgroud)

我该怎么办?感觉就像我被日志文件夹完全阻止了。

完整的错误信息

protocols chmod laravel laravel-5 laravel-artisan

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

如何为协议扩展中的函数编写单元测试?

目前我有一个协议:

protocol CameraOpen: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
 func openCamera()
}
Run Code Online (Sandbox Code Playgroud)

该函数在协议扩展中定义:

extension CameraOpen where Self: UIViewController {
 func openCamera() {
        if UIImagePickerController.isSourceTypeAvailable(.camera) {
            let imagePicker = UIImagePickerController()
            imagePicker.delegate = self
            imagePicker.sourceType = .camera
            imagePicker.allowsEditing = false
            self.present(imagePicker, animated: true, completion: nil)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个问题是我不知道如何实际测试协议扩展中定义的函数。通常我会创建一个我想要测试的类的实例并使用点符号来测试类中的每个函数,但由于它是一个协议,我无法创建它的实例。例如,如果我做这样的事情:

class CamerOpenTests: XCTestCase {

    var cameraOpen: CameraOpen?

    override func setUp() {
        super.setUp()
       cameraOpen = CameraOpen()// error here
    }

    override func tearDown() {
    cameraOpen = nil
        super.tearDown()
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

无法构造“CameraOpen”,因为它没有可访问的初始值设定项

关于如何对这个函数进行单元测试的任何想法?

unit-testing protocols ios swift

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