我想从十六进制转换为RGB,但十六进制处理像#FFFFFF这样的字符串.我怎样才能做到这一点?
我想比较两个日期:date1和date2
2011-06-06 12:59:48.994 Project[419:707] firstDate:2011-06-06 10:59:21 +0000
2011-06-06 12:59:49.004 Project[419:707] selectedData:2011-06-06 10:59:17 +0000
Run Code Online (Sandbox Code Playgroud)
但这些日期有不同的时间,当我使用NSOrderedSame它不能正常工作,我该如何解决?
我的代码:
NSDate *firstDate = [[appDelegate.project objectAtIndex:i]objectAtIndex:3];
NSDate *secondDate = [[appDelegate.project objectAtIndex:i]objectAtIndex:4];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger comps = (NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit);
NSDateComponents *date1Components = [calendar components:comps
fromDate:firstDate];
NSDateComponents *date2Components = [calendar components:comps
fromDate:secondDate];
NSDateComponents *date3Components = [calendar components:comps fromDate:appDelegate.selectedDate];
NSLog(@"firstDate:%@", [date1Components date]);
NSLog(@"secondDate:%@", [date2Components date]);
NSLog(@"selectedData:%@", [date3Components date]);
NSComparisonResult compareStart = [[date1Components date] compare: [date3Components date]];
NSComparisonResult compareEnd = [[date2Components date] compare: [date3Components …Run Code Online (Sandbox Code Playgroud) 一个非常基本的问题,我最近开始探索Objective C并试图弄乱一个示例代码.但是出于调试目的,我希望在控制台上打印NSString变量值.我该如何实现这一目标?
基本上我是一个java开发人员,所以我看起来像...
String hello = "world!";
System.out.println(hello);
Run Code Online (Sandbox Code Playgroud)
我的外语变量(Obj-C)是......
NSString *hello = ...calling a method to return string...
Run Code Online (Sandbox Code Playgroud)
任何提示将不胜感激!
谢谢
我已经开始使用UIDocumentInteractionController为一个新的应用程序,但我想知道如何添加其他操作到您在预览屏幕上获得的操作菜单?
似乎菜单只列出已注册给定网址类型的应用程序,而且我看到PRINT出现在iOS4.2上.我想通过电子邮件添加发送并保存到照片,但没有看到扩展此菜单的方法.我可以编写我想要的动作,它只是将它们添加到菜单中似乎不可能吗?
我错过了一些明显的东西吗
我面临以下问题:由于合并,我必须合并两个图像A和B以创建新图像C.
我已经知道如何合并两个图像但在这种情况下我的目标有点不同.
我想图像A将是图像B的背景.
例如,如果图像A尺寸是500x500而图像B尺寸是460x460,我希望图像C(合并的图像结果)将是500x500,图像B( 460x460)以它为中心.
预先感谢您的任何帮助或建议
我有一些关于在工作中使用属性和实例变量的讨论,因此我想找到一个wiki的答案.现在,我知道在objective-c中没有真正的私有成员类型,一切都是公开的.但是,我有点担心我们应该如何设计我们的类以及遵守OOP原则.我想听听这三种设计方法的意见:
A.根据各种帖子甚至是新的斯坦福大学iPhone开发课程,你应该随时随地使用属性.然而恕我直言,这种方法制定了OOP设计原则,因为在这种情况下,所有成员都会公开.为什么我需要将所有内部/本地实例变量发布到外部?此外,如果您通过属性使用合成设置器,而不是直接使用本地ivar,则会有一些(但仍然)开销很小.这是一个示例:
//==== header file =====//
@interface MyClass : NSObject
@property (nonatomic, retain) NSString *publicMemberWithProperty;
@property (nonatomic, retain) NSString *propertyForPrivateMember;
@end
Run Code Online (Sandbox Code Playgroud)
B.另一种方法是在声明头文件的ivars(不宣相关性质)为私有成员,并且以相同的头文件,申报纯特性(不宣相对的ivars)为公众成员.在这种情况下,ivars将直接在课堂上使用.这种方法很有意义但不会使用属性的所有好处,因为我们在设置新值之前手动释放旧值.这是一个示例:
//==== header file =====//
@interface MyClass : NSObject{
NSString *_privateMember;
}
@property (nonatomic, retain) NSString *publicMemberWithProperty;
@end
Run Code Online (Sandbox Code Playgroud)
C.在头文件中为公共成员声明纯属性(不声明相对的ivars),并在实现文件的私有接口中为私有成员声明纯属性(不声明相对的ivars).这种方法恕我直言比第一种更明确,但同样的问题仍然存在:为什么我们必须拥有内部/本地成员的财产?这是一个示例:
//==== header file =====//
@interface MyClass : NSObject
@property (nonatomic, retain) NSString *publicMemberWithProperty;
@end
//==== implementation file =====//
@interface MyClass()
@property (nonatomic, retain) NSString *propertyForPrivateMember;
@end
Run Code Online (Sandbox Code Playgroud)
这个决定的自由让我感到很恼火,我想从各自的消息来源中找到关于应该如何做的确认.但是,我无法在Apple文档中找到这样严格的声明,所以请发布一个链接到Apple docs(如果有的话),或者发布任何其他清除它的理论.
我想将菜单的背景颜色设置为导航栏的背景颜色.做这个的最好方式是什么?
我需要与uilabel做一些特殊的调整.
我希望它有1到3行,无论它有什么内容.目前我正在做这样的事情
label.font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:14.0f];
label.backgroundColor = [UIColor clearColor];
label.numberOfLines = 0;
label.lineBreakMode = UILineBreakModeWordWrap;
label.frame = CGRectMake(114.0f, 88.0f, 187.0f, 0.0f);
[label sizeToFit];
Run Code Online (Sandbox Code Playgroud)
如果文字不太长,那么效果很好.如果字符串类似于@"Hello World"UILabel只有14点高,如果它有点长,它会扩展.
现在我希望文本应该添加它的默认...三点,如果文本对于三行太长,但设置在顶部它扩展到第四行.
有人知道如何实现这一目标吗?
如果不清楚,请发表评论.
我在iOS 5中使用Core Graphics绘制了一个简单的路径:
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint( path, NULL, center.x , topMargin );
CGPathAddLineToPoint(path, NULL, center.x+20, topMargin+50);
CGPathAddLineToPoint(path, NULL, center.x , topMargin+40);
CGPathAddLineToPoint(path, NULL, center.x-20, topMargin+50);
CGPathAddLineToPoint(path, NULL, center.x , topMargin );
Run Code Online (Sandbox Code Playgroud)
现在我想填写Overlay模式,如下所示:
[[UIColor colorWithRed:0 green:0 blue:0 alpha:0.4] setFill];
CGContextAddPath(context, path);
CGContextSetBlendMode (context, kCGBlendModeOverlay);
CGContextFillPath(context);
Run Code Online (Sandbox Code Playgroud)
这给了我完全预期的结果.但接下来,我想创造一个浮雕效果.我想过使用白色和黑色阴影来实现这样的效果:
[[UIColor colorWithRed:0 green:0 blue:0 alpha:0] setFill];
CGContextAddPath(context, path);
CGContextSetShadowWithColor(context, CGSizeMake(1, 1), 1.0, highlightColor);
CGContextSetBlendMode (context, kCGBlendModeNormal);
CGContextFillPath(context);
[[UIColor colorWithRed:0 green:0 blue:0 alpha:0] setFill];
CGContextAddPath(context, path);
CGContextSetShadowWithColor(context, CGSizeMake(-1, -1), 1.0, shadowColor);
CGContextSetBlendMode (context, kCGBlendModeNormal); …Run Code Online (Sandbox Code Playgroud) 我的iOS应用程序具有高内存使用率但没有内存泄漏.如何减少内存使用量.
使用Instruments,我发现我的应用程序最大输出为90MB,在发生内存警告之前,其他内存被释放,然后在其余部分使用时保持在55-65MB左右.
我觉得55-65MB太高了吧?
因为,仪器没有发现任何泄漏.我该怎么做才能减少内存使用量?
我浏览了今年的WWDC视频,但是我理解的东西(这是我的第一个iOS应用程序),它主要涉及泄漏问题.
一些可能有用的信息:
VM:ImageIO_GIF_Data 30.35MB Live Bytes | 115生活| 300瞬态| 136.12 MB总字节数
VM:MappedFile 36.04 MB Live Bytes | 16生活| 11瞬态| 36.09 MB总字节数
所有其他的东西都在1MB以下
我的应用程序从互联网下载大约30个GIF文件,我使用SDWebImage,我只保存图像的URL,SDWebImage完成剩下的工作.:P
提前致谢,
来自iOS内存管理第一计时器
再次感谢您的帮助
cocoa-touch objective-c instruments ios automatic-ref-counting
cocoa-touch ×9
ios ×9
objective-c ×9
cgpath ×1
hex ×1
instruments ×1
ios7 ×1
iphone ×1
menu ×1
merge ×1
nsdate ×1
oop ×1
properties ×1
rgb ×1
shadow ×1
uiimage ×1