![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C相关
zenny_chen
GitHub: https://github.com/zenny-chen/
Gitee: https://gitee.com/zenny-chen/
【CPU Dasher X】https://itunes.apple.com/cn/app/cpu-dasherx/id1168527539?l=en&mt=8
《OpenCL异构并行》:https://item.jd.com/11818715.html
《C语言编程魔法书》:https://item.jd.com/12737899067.html
展开
-
Core Animation+Quartz2D使用CALayer.mask来裁减图形
我们在做iOS应用时会有这么个需求:想对一个UIView视图做部分裁减,使得被裁减部分显示其子视图部分,即其底图。我们一般可以通过让美术人员做一个相同尺寸的图,将裁减部分做成透明即可。另一种可以通过程序来做。下面我将介绍如何通过Cocoa Framework中的QuartzCore Framework来实现这个效果。原创 2023-05-10 00:59:27 · 109 阅读 · 0 评论 -
iOS如何将RGB565的原始图像数据转为UIImage对象
我们在做一些图像处理时,往往会涉及到RGB565这种图像数据格式。由于其每个像素仅占2个字节,对于不需要像素透明度的情况下使用RGB565既能基本能保证图像的色彩,又能降低图像数据尺寸,节省带宽。因此,RGB565将会是一种常用的比较经济的图像处理的格式。原创 2023-05-09 00:12:22 · 204 阅读 · 0 评论 -
Cocoa Framework中GB2312与UTF16编码之间的相互转换
上述代码片段中,dummyStr仅用于测试,这个对象最后结果为空。原创 2023-05-08 20:54:15 · 131 阅读 · 0 评论 -
OpenGL ES3使用MSAA(多重采样抗锯齿)的方法
昨晚花费了我2个多小时的时间终于把OpenGL ES3.0中的MSAA给搞定了。原创 2023-05-08 20:48:01 · 1585 阅读 · 0 评论 -
闲谈Objective-C编程语言(内含不包含任何框架的Objective-C代码)
从2008年起,由于Apple开放了App Store,iOS开发热浪席卷全球,Objective-C编程语言也似乎一夜之间成为了各个程序猿家喻户晓的编程语言了。其实Objective-C很早就诞生了,它早先由Brad Cox和他妻子Tom Love两人一起开发出来的,其目标就是基于C语言打造出一款拥有SmallTalk消息机制、动态类型的面向对象的编程语言。这个时间比Bjarne Stroustrup开发出第一版C++的时间还要早2年。原创 2016-11-28 17:24:05 · 3167 阅读 · 0 评论 -
Ubuntu系统下通过Clang编译器编写Objective-C
Objective-C作为Apple的first-class编程语言,在很长一段时间内都得到大量开发者的追捧。其中,Objective-C对C语言的完全兼容、灵活性以及OOP特性,使得它成为一门十分优秀,且平衡度很高的编程语言。在我所有用过的编程语言中,Objective-C是最最适合用于开发驱动以及应用层程序的编程语言,它比C++轻便地多,但功能上又比C++更强;而在完美兼容C语言的基础上增加了...原创 2016-09-11 23:39:16 · 4949 阅读 · 0 评论 -
Objective-C如何使自定义对象类作为NSDictionary的key
我们通常会通过Objective-C中Foundation库的NSDictionary与NSMutableDictionary来存放键值对。然而并不是所有Objective-C类都能作为NSDictionary的key来用的,这里将介绍如何将我们自己定义的Objective-C类可作为NSDictionary的键。原创 2016-09-11 22:22:51 · 4282 阅读 · 0 评论 -
使用Objective-C实现自定义的RunLoop
我们知道,由Apple主推的伴随Objective-C的运行时库——Foundation,其核心部分就是NSRunLoop类了。Foundation库将多线程封装得特别好,我们只需通过NSObject的performSelector:onThread:withObject:waitUntilDone:方法即可将一条消息分发到指定的一个线程上执行;通过使用performSelector:withObject:afterDelay:即可将指定的消息延迟指定的时间后发送给消息接收者之行。原创 2016-11-22 15:02:42 · 2377 阅读 · 0 评论