自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JarlenJohn

记录自己学习和技术成长的过程

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 移除自定义NSMenu的上下空白间距

在自定义pop-up menu过程中,我想实现灰色背景上覆盖亮色文字,此过程中使用了NSMenuItem的setView:方法,成功实现。但是,NSMenu在菜单的顶部和底部以浅色绘制4像素高的条带,这在很大程度上破坏了外观,因为NSMenu没有公共API可以改变此情况,如何解决?方案通过为NSMenu添加分类的办法解决。头文件如下:@interface NSMenu (zzl_noPad...

2019-03-27 10:00:35 367

翻译 通过NSLog打印结构体类型数据(如CGRect或CGPoint)

结论NSLog(@"%@", NSStringFromCGPoint(cgPoint));其他可用方法有:NSStringFromCGPoint NSStringFromCGSize NSStringFromCGRect NSStringFromCGAffineTransform NSStringFromUIEdgeInsets示例:NSLog(@"rect1: %...

2019-03-19 10:01:07 1043

转载 Objective-c/Cocoa如何抛出异常

Objective-c/Cocoa抛出异常(Exception)的最好方式是什么?回复:抛出异常的方式平常使用[NSException raise:format:],示例如下:[NSException raise:@"Invalid foo value" format:@"foo of %d is invalid", foo];或者:@throw([NSException excep...

2019-03-15 10:03:32 333

转载 遍历NSArray的高效方法

问题:OSX10.4以上遍历NSArray的标准用法是什么?OSX10.5+/iOS6以上系统在OSX10.5+/iOS6以上系统中,通常最好的方式是如下:for (id object in array) { } 上述结构常用来遍历一个遵守NSFastEnumeration协议的集合中的对象。这种方法具有速度优势,因为它将指向多个对象的指针(通过一个方法调用获得)存储在一个...

2019-03-14 22:05:02 366

原创 OC语言如何打印方法名和行号,并有条件地禁用NSLog?

需求:是否能够实现NSLog打印当前调用的方法名和行号?能否根据当前开发环境还是发布环境禁用NSLog的输出?实现:采用宏定义实现,其中:DLog仅在DEBUG模式下输出内容,Release模式不输出任何内容ALog无论在何种模式均输出,例如ALog(@"Hello word");输出结果如下:-[LibraryController awakeFromNib] [Line 364...

2019-03-12 10:14:29 613

转载 老生常谈:frame和Bounds的区别

UIView及NSView等控件常有的frame和bounds有何不同呢?UIView的bounds是一个矩形,它表示在自身坐标系中的位置(x、y)和大小(width、height)。UIView的frame也是一个矩形,它表示该视图在父视图坐标系中的位置(x、y)和大小(width、height)。因此,假设现在有view大小为100x100,在父视图的位置为(25,25),如下代码打印出...

2019-03-06 19:04:28 2400

原创 MacOS应用中调用NSTask执行终端命令(调用ffprobe命令获取音频详细信息)

在开发过程中,需要在Mac应用程序中获取到音频的信息,已经导入了FFmpeg三方库,但是发现在查询音频的基本信息时并不好用,所以选择用ffprobe实现获取音频信息的功能。由于在代码中需要调用终端命令执行,因此需要使用NSTask调用,具体过程如下:导入ffprobe库文件到项目中,如果电脑终端已经安装了FFmpeg库,则可以在终端通过which ffprobe获取到ffprobe的快捷方式...

2019-03-05 10:08:04 1456 1

原创 NS前缀表达的意思

在Cocoa或者Cocoa Touch中很多类都是以NS为前缀,为什么?有什么含义?它是继承自 NeXTSTEP ,Cocoa框架的源代码很多来自NexSTEP库的Foundation和AppKit中(那些名字仍在Apple的Cocoa框架中使用),NextStep公司的工程师选择的NS作为他们的类前缀,因此使用到了现在。因为Objective-C是C语言的扩展,它不想C++那样有命名空间,为...

2019-03-05 10:05:54 787

转载 @synthesize和@dynamic的关系?

@dynamic和@synthesize@property中使用@dynamic和@synthesize有何不同呢?@synthesize将为属性自动生成getter和setter方法。@dynamic仅告诉编译器该属性的getter和setter方法不在类本身,而在其他地方(如父类或者在运行时中提供)。如果你没有手动实现 setter 方法和 getter 方法,那么编译器会自动为你加上...

2019-03-01 10:20:43 495

Python爬虫获取妹子图片

抓取对象为mm131上的图片,作为练手项目开发,如有侵权,联系删除,谢谢!

2018-06-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除