由于最近琐事比较多,所以好久没有写文章了。今天我们聊一聊Objective-C自动生成文档。 做项目的人多了,就需要文档了。手工写文档是一件苦差事,但是我们也有从源码中抽取注释生成文档的专用工具。 经过查找,比较大众的有三个: doxygen:适于生成html文档与pdf文档。 支持的语言多,可以配置的地方也比较多。默认生成的风格与苹果的风格不一致。 headdoc :是 Xco
# iOS开发自定义Block参数的实现 在iOS开发中,Block(闭包)是一个非常强大的特性,可以让我们在函数中传递代码块,提高代码的灵活性和可重用性。今天,我们将学习如何实现自定义Block参数的使用。本文将从整个流程入手,然后逐步深入,每一步都将给出代码示例及解释。 ## 流程概览 | 步骤 | 描述 | |
原创 8月前
31阅读
文章目录概述一、基础类(Foundation Classes)1.1.根类(Root Classes)1.2.字符串(Strings)1.3.集合(Collections)1.4.标准对象的集合(Collections of Standard Objects)1.5。向量和矩阵(Vectors and Matrices)1.6.基本几何类型(Primitive Geometric Types)1
# iOS 自定义 Block 的深入解析 在 iOS 开发中,Block 是一种非常强大的工具,它能够让我们简化代码、改善可读性和维护性。本文将针对 Block 进行深入的探讨,特别是如何创建和使用自定义 Block。通过代码示例和概念的结合,深入理解 BlockiOS 开发中的应用。 ## 什么是 Block Block 是一种封装了代码和环境的机制。它允许将一段代码作为值进行传递
原创 2024-10-20 03:39:15
51阅读
NSoperation作为一个抽象类,本身不具备封装操作的能力,所以必须使用它的子类来实现多线程操作,但当子类也无法达到我们的需求时,我们可以自定义一个NSoperation的子类,自己写实现方法!      自定义NSoperation的步骤很简单,只要重写main方法,在里面实现想执行的异步任务,但如果是异步操作,也就无法访问到主线程的自动释放池,所以需要自己手动
这里做一个类似于下面界面的小案例 1.创建一个空的布局文件 .xib1 new File -->User Interface -->选择View 2 创建一个空的view ,会自动生成一个 .xib的文件2.设置我们自己需要经常复用的界面   注意:记得设置"Custom Class"中的 Class属性 与我们的代码文件 .h .m (Cocoa Tou
ios 自定义全局block 是一种强大的编程方式,能够帮助开发者在不同的环境中复用功能,提升代码的整洁性与可维护性。下面是关于如何在 iOS 中实现自定义全局 block 的完整记录,涵盖了环境准备、集成步骤、配置详解、实战应用、性能优化及生态扩展六个模块。 ## 环境准备 在实现自定义全局 block 前,我们需要确保环境的兼容性。常见的开发环境包括 Swift 以及 Objective-
原创 6月前
67阅读
自定义进度条是iOS开发中常见的一个功能,可以用来展示任务的进度,比如上传文件、下载文件、加载数据等。本文将介绍如何在iOS自定义进度条,并提供代码示例。 首先,我们需要创建一个自定义的进度条视图。可以通过继承UIView来实现,以下是一个简单的示例: ```swift class CustomProgressBar: UIView { private var progress: C
原创 2024-01-13 09:27:06
85阅读
1.   Object-c的类可以多重继承么?Category是什么? Object-c的类不可以多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。   2.#import 跟#include 又什么区别,@class呢, #import<> 跟 #impor
     一、构造方法续:自定义构造        上一篇笔记小桥讲到了OC类的构造方法,这里先复习一下,下面是一个Person类,有姓名和年龄两个成员变量: // // 文件:Person.h // 项目:博客笔记 // 作者:葬花 桥 // 日期:14-5-7 // 版权:Copyri
在系统菜单中添加自定义菜单项 以下是我的代码. 看了一个似乎是MSDN上的文章..大致看了下, 很不幸....不知道是不是这文章作者太武断..还是真的.Net翅膀还没长硬...(我的E文很差,要是译错的地方,大家装做不知道就好了,给点面子哈...)上面说到:“如果想在control box (system) menu上添加新项, 用.Net本身的代码是没有办法实现的.很幸运的,无论如何,用一点W
转载 2024-07-29 13:10:58
127阅读
本文介绍了如何使用 GPUImage 来实现一个简单的相机。具体功能包括拍照、录制视频、多段视频合成、实时美颜、自定义滤镜实现等。前言AVFoundation 是苹果提供的用于处理基于时间的媒体数据的一个框架。我们想要实现一个相机,需要从手机摄像头采集数据,离不开这个框架的支持。GPUImage 对 AVFoundation 做了一些封装,使我们的采集工作变得十分简单。另外,GPUImage 的
自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。请注意,创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的
转载 2024-10-08 20:14:16
25阅读
关于iOS调用摄像机来获取照片,通常我们都会调用UIImagePickerController来调用系统提供的相机来拍照,这个控件非常好用。但是有时UIImagePickerController控件无法满足我们的需求,例如我们需要更加复杂的OverlayerView,这时候我们就要自己构造一个摄像机控件了。这需要使用AVFoundation.framework这个framework里面的组件了,所
同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结在GCD函数中, 我们常常碰到同步,异步,串行队列,并发队列,全局队列,主队列等概念,而这些概念又常常组合在一起, 十分头疼, 这篇文章就来梳理一下这些烦人的概念.不想看长篇大论的, 直接看文章末尾的表格即可!在此之前, GCD中还涉及到两个十分重要的概念, 就是任务和队列任务(Task): 你需要执行的操作队列(Queue): 存放任务
(Objective-C)  13,多参数方法:(函数名:f::)  参数能够在 : 前面设置一个标签label,标签label也是函数名的一部分,方便阅读(不带标签实际上也有个匿名标签),第一个参数不能有标签,实际上函数名就是第一个参数的标签。  14,OC不是严格的函数重载(和C++不同),主要看标签中,函数名和参数数量是否相同,不是看参数类型,如:  - (int)g:(int)x;   -
我花了很多时间为我最好的朋友考虑一份甜蜜的礼物。当我陷入沉思时,我想到了在Mac上使用“照片”应用制作自定义日历的想法。告诉你什么;我的朋友真的很喜欢个性化的日历,上面装饰着令人难忘的照片和亲切的信息。您是否还想给您的朋友定制日历?一起来看吧! 如何在Mac上的``照片''应用中制作日历步骤1。在Mac上打开“ 照片”应用。然后,您必须从照片库中至少选择12张照片。如果要制
本文讲述了UITableView、UICollectionView实现 self-sizing cell 布局的知识,以及如何用 InvalidationContext 优化 UICollectionView 布局的更新。背景iOS 越来越人性化了,用户可以在设置-通用-辅助功能中动态调整字体大小了。你会发现所有 iOS 自带的APP的字体大小都变了,可惜我们开发的第三方APP依然是以前的字体。在
转载 10月前
122阅读
自定义相机  提供两个链接:http://course.gdou.com/blog/Blog.pzs/archive/2011/12/14/10882.html (原理讲解)保存相片到相册UIImageWriteToSavedPhotosAlbum(image, self,@selector(image:didFinishSavingWithError:contextInfo:
本文主要介绍利用AVFoundation库来实现一个自定义相机的预览功能AVFoundation库简介1.AVCaptureDevice:   表示硬件采集设备(摄像头、麦克风)以及与该设备关联的属性。   可以使用硬件采集设备配置底层硬件的属性。可以使用AVCaptureDevice类的方法来列出可用的设备。2.AVCaptureDeviceInput:   从硬件采集设备向
转载 2023-10-16 02:50:42
130阅读
  • 1
  • 2
  • 3
  • 4
  • 5