我一直在寻找新的Swift语言,尝试在互联网上浏览并在Apple提供的书中搜索之后,找到Swift中的接口(在java中)或协议(在objective-c中)的等价物,我似乎仍然无法找到它.
有没有人知道swift中这个组件的名称是什么,它的语法是什么?
我想知道为什么在RTP而不是TCP中使用UDP?主要的VoIP工具只使用UDP,因为我攻击了一些VoIP OSS.
昨天,我与同事讨论了HTTP问题.有人问为什么HTTP是以纯文本方式设计的.当然,它可以像TCP协议一样以二进制方式设计,使用标志来表示不同类型的方法(POST,GET)和变量(HTTP标头).那么,为什么HTTP是这样设计的呢?有任何技术或历史原因吗?
当浏览器向Web服务器发送HTTP请求时,使用什么编码对线路上的HTTP协议进行编码?是ASCII吗?UTF8?还是UTF16?或者它是否指定了它以预定义格式使用的编码(在进行任何解码之前?)
PS我不是在询问请求/响应的实际有效负载(例如HTML).我问的是请求行(即GET /index.html HTTP/1.1)和标题(即Host: google.com)
我正在尝试构建一个FSM来控制(iphone sdk)目标c中的计时器.我觉得这是一个必要的步骤,因为我最终得到了含有if-then语句页面的令人讨厌的意大利面条代码.复杂性,不可读性以及添加/更改功能的难度使我尝试更正式的解决方案.
在应用程序的上下文中,计时器的状态确定与NSManagedObjects,Core Data等的一些复杂交互.我暂时保留了所有功能,试图清楚地了解FSM代码.
问题是,我在Obj-C中找不到这种代码的任何例子,我对如何从我使用的C++示例代码中翻译它并不是很有信心.(我完全不懂C++,所以有一些猜测.)我在这篇文章的基础上建立了这个版本的状态模式设计:http://www.ai-junkie.com/architecture/state_driven/tut_state1. HTML.我不是在制作游戏,但是这篇文章概述了适用于我正在做的事情的概念.
为了创建代码(在下面发布),我必须学习很多新概念,包括obj-c协议等等.因为这对我来说是新的,就像状态设计模式一样,我希望得到一些关于这种实现的反馈.这是你如何在obj-c中有效地使用协议对象?
这是协议:
@class Timer;
@protocol TimerState
-(void) enterTimerState:(Timer*)timer;
-(void) executeTimerState:(Timer*)timer;
-(void) exitTimerState:(Timer*)timer;
@end
Run Code Online (Sandbox Code Playgroud)
这是Timer对象(在其最剥离的形式中)头文件:
@interface Timer : NSObject
{
id<TimerState> currentTimerState;
NSTimer *secondTimer;
id <TimerViewDelegate> viewDelegate;
id<TimerState> setupState;
id<TimerState> runState;
id<TimerState> pauseState;
id<TimerState> resumeState;
id<TimerState> finishState;
}
@property (nonatomic, retain) id<TimerState> currentTimerState;
@property (nonatomic, retain) NSTimer *secondTimer;
@property (assign) id <TimerViewDelegate> viewDelegate;
@property (nonatomic, retain) id<TimerState> setupState;
@property (nonatomic, retain) id<TimerState> runState;
@property (nonatomic, retain) id<TimerState> pauseState;
@property (nonatomic, retain) …Run Code Online (Sandbox Code Playgroud) Google Web Toolkits(GWT)RPC调用的数据格式如何显示以及如何传输IsSerializable对象.我知道Java Serializable传输某种二进制格式,但是这也是GWT的情况吗?(因为我不希望它与JavaScript兼容,或者至少需要一些额外的解析).
是否可以弃用整个协议?我正在使用iOS SDK 5.0 Beta 7附带的GCC编译器.
DEPRECATED_ATTRIBUTE 似乎不起作用.
例如,以下两个语句不编译.
@protocol DEPRECATED_ATTRIBUTE MyProtocol@protocol MyProtocol DEPRECATED_ATTRIBUTE我希望我的一些课程(不是全部)能够使用docs中的"Class-Only Protocols".我在做什么
protocol RefreshData: class, ClassA, ClassB
{
func updateController()
}
Run Code Online (Sandbox Code Playgroud)
我收到了错误
non class type 'RefreshData cannot inherit from classA
non class type 'RefreshData cannot inherit from classB
Run Code Online (Sandbox Code Playgroud)
我不确定我是否完全遵循文档.有没有人对此有任何想法?
我对线级协议的想法不是很清楚.我听说BitTorrent使用它并读到线程级协议可以被认为是API的反面.我读RMI调用可以被认为是线程协议,但我仍然有点困惑.有人可以用更好的方式解释这个吗?
我想创建一个函数,返回符合协议的对象,但协议使用a typealias.鉴于以下玩具示例:
protocol HasAwesomeness {
typealias ReturnType
func hasAwesomeness() -> ReturnType
}
extension String: HasAwesomeness {
func hasAwesomeness() -> String {
return "Sure Does!"
}
}
extension Int: HasAwesomeness {
func hasAwesomeness() -> Bool {
return false
}
}
Run Code Online (Sandbox Code Playgroud)
String并且Int已经扩展为符合HasAwesomeness,并且每个都实现了hasAwesomeness()返回不同类型的方法.
现在我想创建一个返回符合HasAwesomeness协议的对象的类.我不在乎班级是什么,只是我可以发送信息hasAwesomenss().当我尝试以下操作时,我生成了一个编译错误:
class AmazingClass: NSObject {
func returnsSomethingWithAwesomeness(key: String) -> HasAwesomeness {
...
}
}
Run Code Online (Sandbox Code Playgroud)
错误:协议'HasAwesomeness'只能用作通用约束,因为它具有Self或相关类型要求
可以想象,目的returnsSomethingWithAwesomeness是返回一个String或者Int基于ok key参数.编译器抛出的错误有点 - sorta是有道理的,为什么它被禁止,但它确实提供了修复语法的洞察力.
func …Run Code Online (Sandbox Code Playgroud) protocols ×10
swift ×3
http ×2
ios ×2
networking ×2
objective-c ×2
binary ×1
bittorrent ×1
conform ×1
deprecated ×1
gcc ×1
generics ×1
gwt ×1
http-headers ×1
interface ×1
macos ×1
p2p ×1
rpc ×1
rtp ×1
swift2 ×1
terminology ×1
text ×1
type-alias ×1
udp ×1
voip ×1