我想知道Cocoa Framework是如何得名的.我知道这个名字来自可可豆,但我需要了解更多细节,我正在编写一些小教程.这是一个非常不寻常的框架名称,我想知道为什么选择这个名称.
当用户更改订单时,我需要同步两个ListViews事件的列顺序.但似乎没有Column重新排序事件.
目前我刚刚做了一个AllowColumnReorder ="False",但这不是一个永久的解决方案.在搜索网络时,我发现许多人有同样的问题,但没有解决方案.可以做些什么?
在我的应用中,我做了一个非常简单的绑定.我有一个绑定到NSArrayController的NSMutableArray.控制器本身绑定到ComboBox,它显示NSMutableArray的所有内容.工作良好.
问题是:数组的内容会发生变化.如果用户对应用程序进行了一些调整,我会删除NSMuteableArray中的所有项目,并用新的和不同的项目填充它.
但是NSMutableArray < - > NSArrayController < - > NSComboBox的绑定不会刷新.
无论我是否从Array中删除所有对象,ComboBox仍然显示相同的项目.
这有什么不对?我的方法是错误的还是我只需要告诉绑定刷新自己?我没有发现如何做到这一点.
在iPhone开发的早期阶段,应用程序经常被踢出AppStore以使用未记录的API调用.我总是问自己人们如何发现这些方法以及它们的作用.我对Objective-C了解一点,我知道你可以向任何对象发送任何消息,或者你甚至可以通过调用respondsToSelector来检查一个对象是否会回答一个方法.所以它似乎使用未记录的API调用不是问题,但我不知道如何找到它们.
顺便说一下,我不想使用未记录的APi功能.我只想知道oit是如何完成的.在使用第三方框架时非常有用.或者有一天人们会使用我创建的框架.
处理我试图通过HttpWebResponse在我的应用程序中下载的数据时遇到了很大的问题.我的代码看起来像这样:
myWebRequest.Timeout = 10000;
using (HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse())
{
using (Stream ReceiveStream = myWebResponse.GetResponseStream())
{
Encoding encode = Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
// Read 1024 characters at a time.
Char[] read = new Char[1024];
int count = readStream.Read(read, 0, 1024);
int break_counter = 0;
while (count > 0 && break_counter < 10000)
{
String str = new String(read, 0, count);
buffer += str;
count = readStream.Read(read, 0, 1024);
break_counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在分离的线程中的几个实例中运行,因此调试有点困难.问题是这种方法卡住了,我把它归咎于与数据的连接不良.
正如您所看到的,我已经设置了超时,并且希望代码在超时时间到期后才会终止.它不是!至少不是所有的时间.有时我得到一个WebException/Timeout但有几次它只是卡住了.
什么是超时?什么时候打电话?让我们说HttpWebResponse开始接收数据,但它在传输过程中卡在某处.我有超时吗?对我来说,看起来我没有,因为我的应用程序也被卡住了,并且没有引发超时异常.
我可以做些什么来修补此问题,或者如何获得有关此处出现问题的更多信息?
我有一个绑定到NSTableView的NSArrayController.有了这个,我有典型的添加/删除按钮.
虽然添加项目非常简单(我调用一个方法,创建一个具有默认值的对象并添加它)我在从控制器中删除对象时遇到问题.我知道当使用ArrayController中的remove动作连接按钮时,我可以轻松地执行此操作.但这不是我想要的.我需要手动删除对象,因为我有一些额外的代码要处理.
然而,删除对象似乎远比我预期的要复杂得多.它已经尝试过:
NSArray *items = [doToItemsArrayController selectedObjects];
[doToItemsArrayController removeSelectedObjects:items];
Run Code Online (Sandbox Code Playgroud)
要么
NSIndexSet *iSet = [doToItemsArrayController selectionIndexes];
[doToItemsArrayController removeSelectionIndexes:iSet];
Run Code Online (Sandbox Code Playgroud)
他们似乎都没有工作.如何使用Objective-C代码从NSArrayController中删除所选对象?
今天早上,我看到了我的一位同事的一些奇怪的代码.在winforms应用程序中,整个Mainform被赋予一个线程作为参考.他这样做是为了从Form中调用方法.没有什么可以与UI交互,只是简单的计算方法.我已经确定这不是最好的做法,但我想知道一些事情.如果我从一个线程内部调用Mainform中的方法,这些方法仍然作为多线程处理?或者它们是在Mainform中运行的?当我从一个线程调用Mainfrom方法时,UI线程会受到影响吗?
我已经发现bool是C-Type而BOOL是Objective-C类型.bool可以是true或false,BOOL可以是YES或NO
对于初学者来说,很难区分这些类型.如果我使用bool而不是BOOL,有什么不好的事情可以发生吗?
我有一个用XAML代码编写的WPF ListView
控件ContextMenu
.随着对每一个右键单击ListView
的ContextMenu
显示,即使有在没有任何项目ListView
.
这是我不想要的行为.在ContextMenu
如果在该项目应只开放ListView
.我没有问题计算项目,但我找不到正确的事件来抑制ContextMenu
.
我怎样才能做到这一点?
我需要将WPF对象的内容保存为图像文件.在我的应用程序中,我有一个在Canvas对象上绘制的图表.这就是我需要保存的东西.Canvas包含所有子对象.
cocoa ×3
wpf ×3
listview ×2
objective-c ×2
api ×1
binding ×1
c# ×1
canvas ×1
cocoa-touch ×1
contextmenu ×1
image ×1
iphone ×1
timeout ×1
winforms ×1