在我的应用程序中,我有一些控件,如NSButton和NSTextfield,我想转向隐形.我知道我可以在Interface Builder中完成它,但我需要在代码中完成它.
我仍然没有找到需要发送给控件的正确消息.
我想知道Objective-C/Foundation是否有任何用于从控制台读取用户输入的特殊命令.因为它有输出的NSLog,所以我可以使用其他东西而不是scanf命令.
我需要在我的工具中读取一些数字(用户输入).在double或int等类型中获取这些输入的最佳方法是什么?如何将用户输入到NSString中?
1.)有什么区别
CArray <SomeClass> collection;
Run Code Online (Sandbox Code Playgroud)
和
CArray <SomeClass,SomeClass> collection;
Run Code Online (Sandbox Code Playgroud)
甚至
CArray <SomeClass* ,SomeClass* > collection;
Run Code Online (Sandbox Code Playgroud)
?
2.)在阅读Stackoverflow上的一些评论时,我发现了一条说"不要使用CArray"的说明.为什么不使用CArray?
在像C++或Objective-C这样的语言中,类通常由两个文件组成.第一个叫做Header或Interface,但是另一个文件的"官方"名称是什么?
在一些书中,它在Objective-C的其他"实现文件"或"消息文件"中被称为"Codefile".哪个名称是正确的名称?我需要写一个教程,我不知道.
我想在几乎每个程序中,有时候方法不需要一直调用,只能在特定条件下调用.检查是否必须调用方法非常容易.一个简单的if-statment可以解决问题.
if (value == true)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您有许多条件,验证可能会变得复杂,代码会变得越来越长.所以我用每次调用的方法编写代码,方法本身将检查并验证她的代码是否需要执行.
DoSomething(value);
Run Code Online (Sandbox Code Playgroud)
... 然后 ...
public void DoSomething(bool value)
{
if (value == true)
{
// Do Something here ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在我有两种做事方式.我不确定哪种方式是正确的.或者甚至还有另一种选择?
我刚刚意识到我的cocoa应用程序,我可以为目标设置垃圾收集器设置,也为项目设置垃圾收集器设置.
我的应用程序确实崩溃,因为我只在项目属性中激活了GB,而不像以前那样在目标属性中激活GB.项目设置中的更改不适用于目标设置.项目设置中的垃圾收集器有什么用处?
我正在寻找一个Cocoa类,它将使我能够从给定的URL加载网页(html源代码).为了使事情变得更复杂,我需要能够为此争用设置用户名和密码,因为对网页的访问受到限制.
在我们的应用程序中,我们有一个看起来像这样的小查询:
var selectedAgents = from agent in listAgents
where (this.collectionVehicles.GetVehicleByAgent(agent)).IsActive ||
(this.collectionVehicles.GetVehicleByAgent(agent)).IsSoldSinceCurrentSession
select agent;
Run Code Online (Sandbox Code Playgroud)
这工作正常,但方法GetVehicleByAgent被调用两次,这可能是没有必要的.
在LINQ之前,我们有一个foreach循环,并且这样做:
Vehicle parentVehicle = collectionVehicles.GetVehicleByAgent(agent);
if (parentVehicle.IsActive || parentVehicle.IsSoldSinceCurrentSession)
{
selectedAgents.Add(agent);
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,GetVehicleByAgent返回一个Vehicle对象,并且可以轻松地进行多次比较.所以我正在寻找一种方法来解决LINQ查询中的车辆并保留它.我不想两次调用GetVehicleByAgent.
我有一个绑定到ArrayController的texfield.控制器键是"选择",因为我从NSTableView中选择项目.但是当表格中没有项目时,文本字段会显示灰色文本"无选择".
如何禁止显示此文本并且只有一个空文本字段?或者我如何将"无选择"文本更改为其他内容?
我有一个包含两个或多个类Agent对象的列表.
名称="A"
优先级= 0
ResultCount = 100
;
名称="B"
优先级= 1
ResultCount = 100
;
两个对象都具有相同的ResultCount.在这种情况下,我只需要一个对象,而不是两个或更多.我使用带有Distinct的Linq查询和自定义的Comparer执行此操作.
IEnumerable<Agent> distinctResultsAgents =
(from agt in distinctUrlsAgents select agt).Distinct(comparerResultsCount);
Run Code Online (Sandbox Code Playgroud)
使用此查询,我只从列表中获取一个对象,但我永远不知道哪一个.但我不想要任何对象,我想要对象"B",因为优先级高于对象"A".我怎样才能做到这一点?
我的自定义Comparer非常简单,有一个这样的方法:
public bool Equals(Agent x, Agent y)
{
if (x == null || y == null)
return false;
if (x.ResultCount == y.ResultCount)
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)