在使用IntelliJ几年之后,几个月前我就开始使用XCode,我确实错过了很多功能。XCode还不错,但是缺少一些基本的东西。
为了引发讨论,以下是我最想念的一些功能,谁知道也许来自Apple的某个人会碰到这篇文章并窃取一些想法:)
原来我的清单不胜枚举,所以我就在这里停下来...
在过渡到XCode时,您最想念哪些其他功能?
奥里
我正在构建一个NSPredicateEditor,我希望能够进行高级日期比较.
我知道我可以建立一个NSPredicateEditorRowTemplate带有rightExpressionType的NSDateAttributeType,但我想建立的谓词必须远不止于此先进.
例如,我需要基本的比较,如:
dateKeypath < aDatedateKeypath <= aDatedateKeypath = aDatedateKeypath != aDatedateKeypath > aDatedateKeypath >= aDate这些基本比较很容易实现,我有这些工作.但是,我还需要进行比较,例如:
dateKeypath isInTheLast n days (或数周,数月,年)dateKeypath isNotInTheLast n days (或数周,数月,年)dateKeypath between aDate and anotherDate我怎样才能实现这些比较?我知道我需要创建一个自定义NSPredicateEditorRowTemplate,但我没有找到任何关于如何实现这样的清晰文档.
编辑
奖励积分也可用于知道如何使这些比较成为完整的日期 - 时间(年 - 月 - 日 - 时 - 分 - 秒)比较(因为NSDateAttributeType只有年 - 月 - 日的粒度).
首先,我已经看到了这个问题并理解为什么以下代码不起作用.那不是我的问题.
我有一个常数,它被宣布为;
//Constants.h
extern NSString * const MyConstant;
//Constants.m
NSString * const MyConstant = @"MyConstant";
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,让常量具有更具描述性的名称更有用MyReallySpecificConstant.我希望这样做:
//SpecificConstants.h
extern NSString * const MyReallySpecificConstant;
//SpecificConstants.m
#import "Constants.h"
NSString * const MyReallySpecificConstant = MyConstant;
Run Code Online (Sandbox Code Playgroud)
显然我不能这样做(这在上面的链接问题中有解释).
我的问题是:
如何(除了类似的东西#define MyReallySpecificConstant MyConstant)我可以在多个名称下提供一个常量?
您好我正在尝试在NSTableView中使用NSPopUpButtonCell.基本上,当您在弹出窗口中选择一个项目时,我希望它显示在表格视图列/行中.当按下弹出单元格中的项目时,我使用"tableView:setObject:forTableColumn:row"将其存储在数据源中,然后当表请求检索数据并在"tableView:objectValueForTableColumn"中设置弹出单元格的状态时:行:".请查找附上我的代码.我现在完全被困住了.我希望有人能理解它.先感谢您.
这是在控制器内部:
//Create the table columns
NSTableColumn *nameColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemName];
NSTableColumn *dataTypeColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemDataType];
NSTableColumn *deviceColumn = [[NSTableColumn alloc] initWithIdentifier:LXDetailItemDevice];
//Data type column drop down
NSPopUpButtonCell *dataTypeDropDownCell = [[NSPopUpButtonCell alloc] initTextCell:@"" pullsDown:YES];
[dataTypeDropDownCell setBordered:NO];
[dataTypeDropDownCell setEditable:YES];
NSArray *dataTypeNames = [NSArray arrayWithObjects:@"NULL", @"String", @"Money", @"Date", @"Int", nil];
[dataTypeDropDownCell addItemsWithTitles:dataTypeNames];
[dataTypeColumn setDataCell:dataTypeDropDownCell];
//Add the columns to the table
[tableView addTableColumn:nameColumn];
[tableView addTableColumn:dataTypeColumn];
[tableView addTableColumn:deviceColumn];
enter code here
Run Code Online (Sandbox Code Playgroud)
这是在datasource/delegate类中.
enter code here
@implementation LXTestDataSource
- (id)init
{
self = …Run Code Online (Sandbox Code Playgroud) 我甚至不确定从这个问题开始......
我希望能够将鼠标单击事件发送到另一台计算机,就像用户单击该计算机一样.
我可以通过以下方式在同一台机器上完成:
CGEventSourceRef source = CGEventSourceCreate(NULL);
CGEventType eventType = kCGEventLeftMouseDragged;
CGPoint mouseCursorPosition;
mouseCursorPosition.x = point.x;
mouseCursorPosition.y = point.y;
CGMouseButton mouseButton = kCGMouseButtonLeft;
CGEventRef mouseEvent = CGEventCreateMouseEvent ( source,
eventType,
mouseCursorPosition,
mouseButton );
CGEventSetType(mouseEvent, kCGEventLeftMouseDragged); // Fix Apple Bug
CGEventPost( kCGSessionEventTap, mouseEvent );
CFRelease(mouseEvent);
Run Code Online (Sandbox Code Playgroud)
但是我如何在其他地方发送该事件?AppleScript的?我已经阅读了AppleEvents与app-app通信的一些内容,但我想在另一台机器上生成一个系统事件?
完全不确定.
谢谢,
[编辑11/1/10 7:30a]
只是为了澄清,我不打算屏幕分享.至少我不这么认为.我有几个连接在一起的mac pro集群,每个都有4个监视器.我试图只使用一个设备来向每个节点传达"点击".因此,如果设备在节点3上,但设备插入node0,则node0需要告知节点3它需要响应点击.
谢谢,
[编辑11/4/10 9:32 am]
真?没有人能给我一个具体的代码示例,以编程方式生成Apple事件,以便在C/C++/Objc-C中的远程机器上创建鼠标事件.
Xcode 4的谓词编辑器控件存在一些问题 - 我认为我做的一切都是正确的,而且看起来IDE本身就被破坏了.
我在我正在编写的应用程序中遇到此问题,但为了隔离它,我执行了以下操作:
使用窗口创建新项目.在XIB编辑器中,向其添加NSPredicateEditor,并添加一行.将其保留为关键路径/字符串,并添加两个关键路径 - "标题"和"编写者".使它成为案例和变音不敏感.
创建NSWindowController的子类并为谓词编辑器添加IBOutlet.
在awakeFromNib中,输入以下代码:
NSPredicate*myPredicate = [NSPredicate predicateWithFormat:@"(标题CONTAINS [CD]%@)AND(作者CONTAINS [CD]%@)",@"",@""];
[_predicateEditor setObjectValue:myPredicate];
这会在控制台中产生以下内容:
2011-04-12 15:59:37.709 PredicateTest [38419:903]警告 - 无法找到模板匹配谓词标题CONTAINS [cd]""
2011-04-12 15:59:37.710 PredicateTest [38419:903]警告 - 无法找到模板匹配谓词作者CONTAINS [cd]""
当我单击(+)按钮添加新行时,我得到以下内容:
2011-04-12 15:59:40.044 PredicateTest [38419:903]无法使用nil运算符或表达式创建比较谓词.
我是否正确地认为我在这里做错了什么,这应该有用吗?如果我更改谓词编辑器行模板远离键路径,然后将其切换回键路径,并编辑键路径列表,Xcode崩溃与内部一致性异常,这让我觉得Xcode 4可能不符合要求它涉及到谓词编辑.
有人有任何想法吗?我已经尝试在代码而不是XIB编辑器中创建NSPredicateEditor,并且无休止地搞乱无济于事.谓词编辑功能正在阻止我向商店发布应用程序,所以这有点令人烦恼.
我以为我会把这个发布到社区.我正在使用coredata,并且有两个实体.两个实体都具有层次关系.我现在注意到了相当多的复制功能,并且想知道我是否应该重新架构有一个基础机构是抽象的(HierarchicalObject),使我的实体从他们继承.
所以问题是我应该考虑这种继承的一些限制吗?阅读那里的一些帖子,我看到一些权衡,如果我的假设是正确的,请告诉我.
还有其他需要考虑的事项吗?
感谢您的意见.
我从CMMotionManager获取 CMDeviceMotion对象.CMDeviceMotion的一个属性是时间戳,表示为NSTimeInterval(double).根据文档,这允许"亚毫秒"时间戳精度.
[motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"Sample: %d Timestamp: %f ",counter, motion.timestamp);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,NSTimeInterval是自上次设备启动以来计算的,对以原始形式使用它提出了重大挑战.
有没有人有一个工作代码将此NSTimeInterval转换为类似时间戳(UTC时区)的Unix?
谢谢!
我正在尝试绘制一个正常的圆角矩形UIButton,但没有边框.理想情况下,我希望能够更改一些设置UIButton以禁用边框.
我的问题是,如果我将按钮类型更改为"自定义",我没有得到漂亮的蓝色选择渐变(我想保留),我不知道如何手动绘制它.
objective-c ×5
cocoa ×4
iphone ×3
macos ×2
border ×1
c ×1
class-design ×1
cocoa-touch ×1
comparison ×1
constants ×1
core-data ×1
core-motion ×1
date ×1
entity ×1
events ×1
ide ×1
inheritance ×1
ios ×1
macos-carbon ×1
mouse ×1
nsdate ×1
nstableview ×1
timestamp ×1
uibutton ×1
xcode ×1
xcode4 ×1