我正在向我正在处理的Cocoa应用添加重复事件.我每天都在重复,因为我可以用数学方法定义这些(3600*24*7 = 1周).我使用以下代码来修改日期:
[NSDate dateWithTimeIntervalSinceNow:(3600*24*7*(weeks))]
Run Code Online (Sandbox Code Playgroud)
我知道自事件重复以来已过去了多少个月,但我无法弄清楚如何制作代表未来1个月/ 3个月/ 6个月/ 9个月的NSDate对象.理想情况下,我希望用户说从10月14日开始每月重复一次,它将重复每个月的第14天.
我在使用优先级队列来识别它应该排序的参数时遇到了很多麻烦.我在我的自定义类中重载了less运算符但它似乎没有使用它.这是相关的代码:
Node.h
class Node
{
public:
Node(...);
~Node();
bool operator<(Node &aNode);
...
}
Run Code Online (Sandbox Code Playgroud)
Node.cpp
#include "Node.h"
bool Node::operator<(Node &aNode)
{
return (this->getTotalCost() < aNode.getTotalCost());
}
Run Code Online (Sandbox Code Playgroud)
getTotalCost()返回一个int
main.cpp中
priority_queue<Node*, vector<Node*>,less<vector<Node*>::value_type> > nodesToCheck;
Run Code Online (Sandbox Code Playgroud)
我错过了什么和/或做错了什么?
可能是我忽略了一些明显的东西,但指针元数据存储在哪里?例如,如果我有一个32位的int指针ptr
并且我执行ptr++
它就知道在内存中前进4个字节.但是,如果我有一个64位的int指针,它知道前进8个字节.那么谁跟踪指针的类型ptr
和存储位置?为简单起见,您可以将其限制为C++.
我有一个ListActivity,其数组适配器声明为像arrayAdapter = new ArrayAdapter<String> (this, android.R.layout.simple_list_item_checked);
这样在最右边显示了一堆带有复选标记的行.你能告诉我如何获得这些复选标记的引用或如何检查/取消选中它们吗?
我想我在这里遗漏了一些非常基本的东西.我有一个Utilities类,它有一些从几个不同的类调用的函数.我希望能够包含Utilities.h并只是说[Utilities doStuff]并在Utilities.m中执行doStuff功能,这是最简单的方法吗?
c++ ×2
cocoa ×2
android ×1
checkmark ×1
comparator ×1
listactivity ×1
metadata ×1
nsdate ×1
objective-c ×1
pointers ×1
stl ×1