首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在objective-c/cocoa框架中编写c代码被认为是不好的做法?

在Objective-C/Cocoa框架中编写C代码被认为是不好的做法,原因如下:

  1. 不符合框架设计理念:Objective-C/Cocoa框架是苹果公司为开发iOS和macOS应用程序而设计的,它提供了丰富的面向对象的特性和功能。而C语言是一种面向过程的编程语言,与Objective-C/Cocoa框架的面向对象思想不太匹配。直接在Objective-C/Cocoa框架中编写C代码会破坏框架的设计理念和一致性。
  2. 难以维护和调试:Objective-C/Cocoa框架提供了一套强大的工具和调试环境,可以方便地进行代码调试和错误定位。然而,C语言的调试和维护相对困难,不利于开发人员快速定位和解决问题。
  3. 可能引入内存管理问题:Objective-C/Cocoa框架使用了自动引用计数(ARC)来管理内存,而C语言没有这样的机制。如果在Objective-C/Cocoa框架中编写C代码,可能会导致内存管理问题,如内存泄漏或野指针等。
  4. 不利于跨平台开发:Objective-C/Cocoa框架主要用于开发苹果的iOS和macOS应用程序,而C语言是一种通用的编程语言,可以在多个平台上运行。如果在Objective-C/Cocoa框架中编写C代码,将限制应用程序的可移植性和跨平台性。

综上所述,尽量避免在Objective-C/Cocoa框架中编写C代码是一个良好的开发实践。相反,应该充分利用Objective-C/Cocoa框架提供的特性和功能,以更好地开发iOS和macOS应用程序。

相关搜索:为什么在SQL Server中使用游标被认为是不好的做法?在没有实体主体的情况下执行HTTP POST被认为是不好的做法吗?在React Native中使用固定数字设置高度和宽度是否被认为是不好的做法?在xaml中,使用框架,在窗口内显示页面是不好的做法?在Oracle中删除不存在的记录被认为是不好的形式?当在.Net中重复代码来做同样的事情时,这在dbcontext中被认为是不好的做法吗?在SQL表中不断更改行是否被认为是一种糟糕的做法?在构造函数中使用原始指针并打算立即将其包装在智能指针中,这被认为是不好的做法吗?为什么在C++的函数中创建对象是一种不好的做法?在更高的层中编写接口是否被认为是一个好的实践?在同一个div中组合row和col被认为是一种糟糕的做法吗?编写自己的shell代码在处理某些管道时挂起 - 在C中在c#代码中编写SQL查询的最佳实践是什么?在代码优先实体框架MVC c#中连接表的问题在Objective-C (或C)中,这段带有指向布尔值指针的代码是如何工作的?如何防止用户在C和C++项目之间的公共头文件中编写C++代码?如何获得nodejs应用的代码覆盖率,而不必在推荐的框架中编写测试用例?如何编写代码从输入文件中读取单独的行中的输入,并执行此代码在C++中执行的相同操作不确定将代码放在程序中的什么位置。在XCode中如何在触摸时生成圆。(Objective-C)
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于Swift

Swift是一种新建立CObjective-C基础之上用来开发iOS和OS X应用,完全兼容C。 Swift采用了安全编程模式并增添了现代功能使编程更容易、更灵活、更有趣。...Swift依 赖深受喜爱CocoaCocoa Touch框架,对重新想象软件是如何工作来说是一次机会。 Swift创造已经有好多年了。苹果在此基础上增强了我们现有的编译器,调试器,和框架结 构。...我们简化了使用自动引用计数(ARC)内存管理技术。我们框架堆栈,建立坚实 Foundation和Cocoa框架基础之上,已经是现代化和标准化。...Objective-C本身已经采 用了blocks,集合迭代和模块现代语言技术。多亏了这个基础,我们现在可以引入一个新 语言未来苹果软件开发。...它提供了无缝访问现有Cocoa框架并且可以和Objective-C代码共 存。构建在这个基础上,Swift引入了许多面向过程和面向对象编程语言新特性。 Swift对新程序员是友好

1.1K20

iOS学习——iOS 整体框架及类继承框架

整理自:IOS 整体框架类图值得收藏  一 整体框架 iOS开发过程,对iOS整体框架了解和学习是必不可少一个环节,今天我们就好好来了解一下iOS整体框架。...开发一个应用程序就是将需求细致化代码插入到框架提供设计来组合成一个整体完成最终应用设计。...通知 归档和序列化 表达式和条件判断 Objective-C语言服务 对于Foundation框架一些基本类使用方法详情参见:iOS开发系列—Objective-C之Foundation框架  ...UIKit框架各个类简单介绍戳后面的链接:UIKit框架各个类简要说明  三 Cocoa对象   此处内容全部来源于: IOS 整体框架类图值得收藏 3.1 Objective-C是面向对象语言...3.2 Objective-C优点   Objective-C语言有C++ Java等面向对象特点,那是远远不能体现它优点Objective-C优点是它是动态

3.5K70
  • 更多关于CocoaScript目录

    ---- Sketch插件可以通过Mocha和CocoaScript实现,它允许您使用JavaScript编写外部脚本使用Objective-C / Cocoa代码。...所以,当你CocoaScript编写代码时,你确实在编写JavaScript。 CocoaScript还包含一个桥梁,可让您通过JavaScript访问AppleCocoa框架。...访问Cocoa和Sketch API 您可以从CocoaScript访问所有Cocoa和Sketch API。 Objective-C属性行为与JavaScript端应该一样。...Objective-C方法作为对象不透明JavaScript代理属性公开。 将选择器名称转换为JavaScript属性名称时采取以下步骤: 所有冒号都转换为下划线(最新下划线是可选)。...,请查看Mocha README,它确实是完整(但需要一些Obj-C概念)。

    1.4K60

    《Motion Design for iOS》(十四)

    Objective-C Objective-C是一种编程语言,于1980年代首次出现,并作为编写NeXT计算机主要语言受到欢迎。...苹果公司使用Objective-C编写OS X和iOS所有软件。最近几年,苹果公司作出了显著改善让Objective-C更适合新程序员。...Swift设计为和已经存在CocoaCocoa Touch框架协作(苹果公司提供给开发者来创建应用API库)而且可以和Objective-C同一个app中共存,但不能在同一个源代码文件。...我依然使用Objective-C编写app,但随着时间流逝,我会至少工程中部分使用Swift。我对Swift一些Objective-C没有的高级语言特性非常期待。...本书中全部动画示例代码都会有Objective-C和Swift两种编写方式,因此你可以理解和观察其区别并自行选择哪一种语言对你使用更有意义。

    85910

    Swift 新语言开发「建议收藏」

    ——(博客园、新浪微博)葛布林大帝 */ 一、Welcome to Swift 1.关于Swift   Swift是一种用于iOS和OS X应用全新编程语言,它建立最好CObjective-C语言中...Swift框架建立坚实Foundation和Cocoa上。已实现现代化和彻底标准化。...Objective-C本身已经逐步发展到到支持blocks、 collection literals 和modules,使框架採用不中断现代语言技术。感谢这个基础。...它具有Objective-C命名參数可读性和动态对象模型力量,提供了无缝接入现有Cocoa框架和与Objective-C混编能力。...2.Swift概览 传统建议新语言第一个程序应该打印“Hello, World”屏幕上。Swift里这仅仅须要一行来完毕。   假设你CObjective-C语言编写代码

    70930

    唐巧iOS技术博客选摘

    《objc非主流代码技巧》:看开源代码时,总会看到一些大神级别的代码,给人眼前一亮感觉,多数都是淡忘C语言语法,作者文章总结了objc写码遇到各类非主流代码技巧和一些妙用。...也就是说只有编译器是不够,还需要一个运行时系统 (runtime system) 来执行编译后代码。这就是 Objective-C Runtime 系统存在意义,它是整个OC运行框架一块基石。...本文详细整理了 Cocoa Runtime 系统知识,它使得 Objective-C 如虎添翼,具备了灵活动态特性,使这门古老语言焕发生机。...网上有很多相关文章教你如何编写一个简单 widget,但是却没有一篇适合我们这种纯代码拥趸。本文介绍了如何用纯代码方式来构建一个 widget。...《轻松学习 Objective-C 消息转发》:作者文章通过一个小例子来讲解什么是消息转发,以及如何消息转发,希望看完这篇文章时大家会彻底明白 OC 消息转发机制。

    3.3K60

    Java开发者需要了解哪些常见开移动开发编程语言排行榜Top 6

    随着企业最近一段时间调整移动应用到他们生产力,以及他们跨平台移动设备快速创新;它需要移动应用程序开发人员使用单一语言和许多可重用代码为许多不同平台编写应用程序多个版本。你有兴趣吗?...随着企业最近一段时间调整移动应用到他们生产力,以及他们跨平台移动设备快速创新;它需要移动应用程序开发人员使用单一语言和许多可重用代码为许多不同平台编写应用程序多个版本。你有兴趣吗?...此外,作为苹果开发框架一部分,Objective-C是完全融入到所有的iOS和MacOS框架。然而,现在它正慢慢地一个更强大称为Swift语言取代它在苹果生态系统地位。...Swift Swift是进入苹果生态系统最新编程语言,主要考虑其为苹果最新API、CocoaCocoa Touch编写代码流行程度。...即使它是一个为结合Objective-C编写语言,Cupertino公司明显用它让iOS开发者转向Swift完成编程。

    77110

    iOSCocoa框架·Runtime及isa指针知识·填坑

    Cocoa框架是iOS应用程序基础,了解Cocoa框架,对开发iOS应用有很大帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统程序运行环境。...是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为Cocoa开发你可以使用各种语言;也不是开发工具,你可以命令行上就可以创建Cocoa程序。...1.1、Cocoa框架 iOSCocoa众多框架中最重要最基本两个框架是:Foundation 和 UIKit。...用代码创建 通过继承UIView类或间接继承UIView类实现自定义用户界面 框架类组织架构图: ?...2、Cocoa对象 2.1 Objective-C是面向对象语言 Objective-C和Java C++一样,有封装,继承,多态,重用。

    98720

    IOS框架概览

    Touch层非常多技术都是基于Objective-C语言。...Objective-C语言为iOS提供了像集合、文件管理、网络操作等支持。...Cocoa Touch层其它框架,对我们应用程序开发来说也是非常实用,如訪问用户通信录功能框架、获取照片信息功能框架、负责加速感应器和三维陀螺仪等硬件支持框架。...iOS框架介绍 什么是框架?本质上来说它是帮助我们完毕各种特定功能软件库。 我 们编写应用程序项目,都是从Cocoa Touch层開始,详细来说就是从UIKit Framework開始。...当在编敲代码过程须要用到一些特殊功能时候,我们应该从框架最顶端技术開始寻找对应框架,仅仅有在上层结构无法解决时,才干使用其下层技术。事实上,顶层框架已经涵盖了我们绝大多数须要功能。

    94310

    iOS - 老生常谈内存管理(二):从 MRC 说起

    Objective-C ,它也可以看作是许多数据和代码之间分配有限内存资源所有权一种方式。...野指针: C 是指没有进行初始化指针,该指针指向一个随机空间,它值是个垃圾值; OC 是指指向对象已经回收了指针(网上很多都是这样解释,但我认为它应该叫 “悬垂指针” 才对)。...如果你整个代码对实例变量使用retain和release,这肯定是错误做法。 以下在 Counter 类定义了一个NSNumber对象属性。...《Effective Objective-C 2.0 编写高质量iOS与OS X代码52个有效方法》书中第 31 条 —— dealloc 方法只释放引用并解除监听 一文也提到: dealloc...但是,有三种情况可能会使用你自己@autoreleasepool: ① 如果你编写程序不是基于 UI 框架,比如说命令行工具; ② 如果你编写循环中创建了大量临时对象; 你可以循环内使用@autoreleasepool

    1.5K21

    Objective-C之父Brad J. Cox去世,他推动了今天苹果软件生态

    任何 C 语言程序不经修改就可以直接通过 Objective-C 编译器, Objective-C 中使用 C 语言代码也是完全合法。...随后 1996 年,苹果收购了 NeXT 公司,旗下操作系统 NeXTSTEP 重命名为 Cocoa,WebObjects 则集成到 Mac OS Server 和 Xcode 。...现在 Objective-C 与 Swift 是 OS X 和 iOS 操作系统、及与其相关 API、CocoaCocoa Touch 主要编程语言。...它可以现存 C 编译器基础上实现,而不需要编写一个全新编译器,使得 Objective-C 能利用大量现存 C 代码、库、工具和编程思想等资源。...开发语言排行榜 TIOBE 榜单Objective-C 流行程度指数一路下滑,替代者 Swift 位次逐渐上升。

    43010

    Objective-C之父Brad J. Cox去世,他推动了今天苹果软件生态

    任何 C 语言程序不经修改就可以直接通过 Objective-C 编译器, Objective-C 中使用 C 语言代码也是完全合法。...随后 1996 年,苹果收购了 NeXT 公司,旗下操作系统 NeXTSTEP 重命名为 Cocoa,WebObjects 则集成到 Mac OS Server 和 Xcode 。...现在 Objective-C 与 Swift 是 OS X 和 iOS 操作系统、及与其相关 API、CocoaCocoa Touch 主要编程语言。...它可以现存 C 编译器基础上实现,而不需要编写一个全新编译器,使得 Objective-C 能利用大量现存 C 代码、库、工具和编程思想等资源。...开发语言排行榜 TIOBE 榜单Objective-C 流行程度指数一路下滑,替代者 Swift 位次逐渐上升。

    35140

    关于编程语言OC之9个基础知识点

    这是《给自己一份自学IOS开发学习清单》《关于编程语言OC》读书笔记系列第1篇。 入门务必记住这9点。...1、MAC操作系统上整个开发环境成为CocoaCocoa开发语言是Objective-C,开发工具是Xcode 我以前搞不懂CocoaChina为何叫Cocoa,原来是因为Cocoa是Mac开发环境...4、面向对象特质:封装、继承、多态 4.1封装: 把客观事物封装成抽象类,编写成h文件跟m文件。...4.2继承: 通过继承创建新类,称为“子类”或“派生类”。 继承类称为“基类”、“父类”、或”超类“ 下面这张图先了解个大概: ? 4.3多态 多态是指同一个接口名称,但是体现为不同功能。...如: Car *car=[[Car alloc]init]; 8、oc方法调用:也称为给这个类或者实例发消息,类或者实例被称为“接收方”,oc允许一个方法调用嵌套另一个方法调用 记住格式:方括号[

    1K80

    译文: 低调奢华有内涵「Runtime」

    当然,我是翻译了这篇文章,但是对Runtime理解,还是很基础——主要是还没有太多实践,真实开发几乎也用不到,一如文章所说:「如果可以,避免使用Objective-CRuntime……」。...还有,不要忘记,很多激动人心代码库都是用Objective-CCocoa本身就是用Objective-C,还有很多第三方库,和November Five(译者:一家公司)内部库。...因为Runtime允许你访问很多Cocoa或者第三方库底层特性。 Objective-CRuntime究竟是什么?...用于检视(闭源框架)类方法、属性;进行学习(Looking under the hood & learning from it) 因为Objective-CRuntime允许你检视、重写(覆盖)、修改私有或者闭源框架方法...如果是开源代码库,解决办法很简单:你报告这个问题,最好自己解决,然后创建一个pull request(译者:类似GitHub上贡献开源库过程)。但如果是闭源框架,就不好说了。

    97140

    闲谈 iOS 动态化

    # 「始作俑者」Wax 最早要从 Wax 这个项目开始说,大家都知道 Objective-C 有着非常强大动态特性。...比如说: 运行时构造类和方法 运行时替换方法实现 实际上这两个能力是非常恐怖,他可以让 Cocoa 项目做很多类似黑魔法事情,简单说就是可以让 Objective-C 像脚本语言那样,文本即代码...这个项目的做法是通过加载 Lua 脚本,动态生成 Objective-C 方法,通常用来替换掉出了问题那个,Lua 脚本是可以动态下发,所以也就实现了修复线上 bug 使命。...当然,Wax 用起来是极为痛苦,尤其是和 Objective-C 类型转换。...# 异军突起 React Native 和 Weex 时间继续走,以 React Native 和 Weex 为代表各种项目开始冒出来了,他们主要想法并不是给项目做热修复,而是有更宏大想法:使用脚本来编写

    59220

    【IOS开发进阶系列】iOS系统架构专题

    Touch层很多技术都是基于Objective-C语言。...Cocoa Touch层其他框架,对我们应用程序开发来说也是非常有用,如访问用户通信录功能框架、获取照片信息功能框架、负责加速感应器和三维陀螺仪等硬件支持框架。...这些应用程序都是用Java语言编写,并且这些应用程序都是可以开发人员开发其他应用程序所替换,这点不同于其他手机操作系统固化系统内部系统软件,更加灵活和个性化。...它用一种高层Objective-C接口配置动画和效果,然后重载硬件上获得较好性能。...核心基础框架与基础框架是紧密相关,它们为相同基本功能提供了Objective-C接口。

    1.3K41

    Cocoa编程学习笔记之MVC

    通过分离显示数据、持久化数据和处理用户交互职责,MVC模式有助于创建易于理解代码。而且,它促进了视图和模型解耦,以便模型能重用。...例如,在你应用程序,有两个界面,基于Web和WPF,那么你可以两者中都使用同样模型定义代码。 因而,很多MVC框架不管具体工作方式如何,基本原理都大致如此。...然而,Cocoa(及Cocoa Touch),还是或多或少有所不同,苹果用MVC来代表Views(视图)、View Controller(视图控制器)和Models(模型);但是不同控件,它们却不是完全一致...Objective-C/Cocoa世界里,我们建立controller通常是指应用程序(Application)委托(Delegate),或者可以简单称做app delegate。...当你Objective-C里面建立一个app delegate时候,这个delegate可以做为你所有model和viewcontroller,或者你也可以为不同model和view分别创建controller

    89470

    Objective-C 点符号一定是恶魔吗?

    本文是Objective-C 代码气味系列文章一篇。* ......是的,这是夸张说法。在有点符号项目中,我确实能与点符号共存。但我不会自己写。...引擎盖下,编译器会编写代码来计算 foo 内存偏移量,然后将值 10 写入计算出地址处存储空间。速度非常快,而且非常轻便。...Objective-CC 语言严格超集,因此所有这些也适用于 Objective-C 代码。或者不适用。......你说不清楚,对吧?... C++ ,您可以编写 this->qux = 10; 但更常见做法是省略 this->,直接写成 qux = 10; 因为 qux 是一个具有类作用域成员变量。...但现在,圆点符号可以让你继续使用这种臭烘烘违规行为,而且看起来还不错! 轮到你了! 由于我看到几乎所有 Objective-C 代码都使用点符号,我意识到自己逆流而行。

    10110

    2021 年 iOS 应用程序开发七种最佳语言

    Apple 2014 年创建了它,作为 Objective-C 继承者。...Swift 旨在与 CocoaCocoa Touch 等框架以及用 Objective-C 为 Apple 产品编写大量代码库一起使用。 ...如果您想相对快速地创建一个以后可以轻松扩展应用程序,Swift 将是一个不错选择。该语言相对容易学习并确保快速开发过程,以及编写安全可靠代码。...将 Swift 与 Objective-C 进行比较,少数情况下,Objective-C 将是更好选择。它是一种成熟语言,甚至可能有点过时(最后一个版本于 2016 年发布)。...它是作为 Microsoft 对 Java 语言回答而创建C# 与 .NET 平台紧密集成,它既是一个框架又是一个运行时环境。 C# 是开发出来,最常用于为 Windows 系统编写应用程序。

    4.8K40

    Runtime常用接口方法汇总

    Runtime简称运行时,就是系统在运行时一些机制,其中最主要是消息机制。 Runtime基本是用C和汇编写,从而有了动态系统高效。...C语言在编译阶段调用未实现函数就会报错 Objective-C: 函数调用成为消息发送objc_msgSend,属于动态调用过程。...通过 Objective-C代码 通过 Foundation 框架NSObject类定义方法 通过对 runtime 函数直接调用 通过 Objective-C代码。...多数情况我们只需要编写Objective-C代码即可,Runtime系统自动幕后搞定一切,编译器会将 OC 代码转换成运行时代码,在运行时确定数据结构和函数。...cocoa程序绝大部分类都是 NSObject 类子类,所以都继承了 NSObject 行为,而在 NSObject 类仅仅定义了完成部分事情模板,但没有提供所需要代码

    68520
    领券