cocoa-design-patterns
全部标签 我有一个WPF窗口,其中包含一些创建TCP连接的资源:但是当我关闭承载表单的设计器窗口时,连接仍然打开,因此,如果我再次打开表单,一个新的TCP连接将启动。在这种情况下如何处理断开连接? 最佳答案 使用窗口上的关闭事件应该可以做到这一点。privatevoidMainWindow_Closing(objectsender,System.ComponentModel.CancelEventArgse){if(Resources.Contains["DataCtx1"]){MyDataSourcedataSource=Resources
我是Cocoa新手,但不是编程新手。最近我决定要为Mac编写一个FTP客户端,所以我首先使用我最熟悉的语言(在Windows上)编写它,然后在我无法进行FTP通信时转向Cocoa。我的问题(显然)有点争议:如何与(ftp服务器)建立读/写连接?到目前为止我所拥有的(显然无法正常工作):NSInputStream*iStream;NSOutputStream*oStream;NSHost*host=[NSHosthostWithAddress:@"127.0.0.1"];[NSStreamgetStreamsToHost:hostport:3333inputStream:&iStream
我是Cocoa的新手,但设法建立并运行了一个(到FTP的)连接,并且我已经为NSInputStreamiStream设置了一个事件处理程序来提醒每个响应(这也有效)。我设法得到的只是问候消息和连接超时60秒,关闭控制连接。编辑:我想我的问题是“不关闭->打开什么是刷新输出流的非终止方式?在搜索stackoverflow并发现很多NSOutputStream写入问题(例如HowtouseNSOutputStream'swritemessage?)以及我的google搜索结果中的很多困惑之后,我想我会试着问自己的问题:我已经尝试阅读有关OutputStream的developer.appl
我有一个EventMachine服务器将TCP数据向下发送到Mac客户端(通过GCDAsyncSocket)。它总是可以完美地工作一段时间,但不可避免地服务器会突然停止逐个连接地发送数据。连接仍然保持,服务器仍然从客户端接收数据,但不会反过来。发生这种情况时,我通过connection#get_outbound_data_size发现连接发送缓冲区正在无限填满(通过#send_data)并且没有被发送到客户端。是否有特定的(并且希望可以修复的)原因导致这种情况发生?react堆一直在嗡嗡作响,与服务器的其他事件连接继续正常工作(尽管它们有时也会陷入缓冲区hell)。
Wholeappforcontext似乎在这个mouseUp中设置needsDisplay处理程序,正在触发一个永无止境的绘图级联,我不确定为什么......期望的效果是,一旦mouseUp更改了按钮的mode属性,当drawRect发生时,按钮的图标将简单地改变来自theredcircle,至theblacksquare没有上面gif中显示的级联图。我已经缩小了范围,可以说原因是therect.origin.xbeingpassedtoMainView'sdrawRectfunction逐渐变大,宽度变小,但我无法弄清楚为什么。 最佳答案
在objective-C中,我有这个函数来过滤一个类类型数组的NSSet:+(NSSet*)filterSubjectsSet:(NSSet*)subjectsforClasses:(NSArray*)classes{NSSet*filterSet=[subjectsobjectsPassingTest:^(idobj,BOOL*stop){return[classescontainsObject:[objclass]];}];returnfilterSet;}我正在努力寻找一种巧妙的方法来在Swift中实现相同的功能。这就是我所希望的:classfuncfilterSubjectsS
我将下面的代码放在applicationDidFinishLaunching:中,并通过Instruments结合Allocations工具启动应用程序。funcapplicationDidFinishLaunching(aNotification:NSNotification){vara=Apartment()varb=avarc=avard=a}Apple关于Swift中内存管理的文档包括以下行:Wheneveryouassignaclassinstancetoaproperty,constant,orvariable,thatproperty,constant,orvariabl
更新:我添加了一个用于测试的示例项目,请参阅帖子底部。原始问题:我有一个NSWindow,我会在其他一些参数发生变化时更改它的背景。窗口背景是我通过覆盖窗口View子类中的drawRect绘制的渐变。classMainWindowView:NSView{overridefuncdrawRect(dirtyRect:NSRect){varrect=dirtyRectletgradient=NSGradient(startingColor:backgroundColor,endingColor:darkerBackgroundColor)gradient.drawInRect(rect,r
我正在做一个查找类型的应用程序,总共有大约800个JSON条目,我能够很好地将其加载到内存中,因为我只是将纯文本解析为一些对象以充当简单模型。但是,我不知道处理UI端的最佳做法是什么,这是在尝试滚动时速度极慢的地方,等等:所以我尝试使用带编号的按钮实现分页,这有效但UI仍然锁定更新并且页面在NSCollectionView更新时瞬间发生冲突。这是当前导致初始和页面加载发生在ViewController.swift中的代码:点击按钮引起的Action@IBActionfuncchangePage(sender:NSButton){letnewPage=Int(sender.title)c
在macOS的SwiftCocoa应用程序中,我继承自NSNumberFormatter并覆盖了isPartialStringValid。迁移到Swift3.0后,我现在必须将NumberFormatter子类化,但出现错误“方法未覆盖其父类(superclass)中的任何方法”。我可以用什么来代替这个方法?overridefuncisPartialStringValid(_partialString:String,newEditingStringnewString:AutoreleasingUnsafeMutablePointer>?,errorDescriptionerror:Au