首页 > 其他分享 >Objective-C杂谈【1】

Objective-C杂谈【1】

时间:2024-01-28 12:23:10浏览次数:18  
标签:suffix get list 杂谈 ObjC matchRegex Objective config

ObjC(Objective-C)进入人们的视野,主要源自MacOSX的Cocoa。
人们即使是开发着更多关注的也是Cocoa靓丽的外表,对支撑起Cocoa的ObjC确一直缺乏深入了解。

ObjC给人深刻印象的无异于它与传统基于“.”的面向对象语言语法的完全不同的调用或者消息传递语法。
例:[object doSomethingWithParameter:A paramter:B paramter:C]
习惯传统面向对象语言语法的用户对此非议颇多,最核心的就是:啰嗦!!
然而这种语法并非ObjC的独创,它借鉴自Smalltalk,诞生在ObjC之前。

面向对象语言中,消息通常由消息本体和参数构成,发送消息就是将消息连同参数通知给目标并取得结果。
例:Object.doSomethingWithParamters(A, B, C)
粗一对比,一定会认为后者更“好”,因为更为简洁直接。
简洁也确实简洁,但这种“简洁”有相当大的副作用。
一个新的例子:

[list findStringsWithPrefix:p
                      suffix:s
                  matchRegex:r]
 list.findStrings(prefix, suffix, matchRegex)

第二种形式,为了说明参数的用途用而特地将变量命名为prefix,suffix和matchRegex。
粗一看,“简洁”形式似乎还比第一种更为“优雅”。

标签:suffix,get,list,杂谈,ObjC,matchRegex,Objective,config
From: https://www.cnblogs.com/applesnake/p/17992708

相关文章

  • spring IOC DI 容器杂谈
    IOC容器的原理spring 博客收藏参考博客https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247484247&idx=1&sn=e228e29e344559e469ac3ecfa9715217&chksm=ebd74256dca0cb40059f3f627fc9450f916c1e1b39ba741842d91774f5bb7f518063e5acf5a0#rdhttps://www.zhihu.c......
  • 【学习笔记】数论杂谈
    一.素数相关0.约定若无特殊说明,本部分做以下记号规定。\(p\in\mathbb{P}\),\(\mathbbP\)为质数集。\(\pi(n)\)表示\(1\)至\(n\)内的素数个数。\(P^{+}(n),P^-(n)\)分别表示\(n\)的最大/最小质因子。\(\nu_i\)表示\(i\)的可重质因子个数。1.素数定理\[\pi(......
  • 多项式计数杂谈
    多项式计数杂谈-command_block的博客-洛谷博客command_block的博客导航切换首页文章command_block的博客多项式计数杂谈postedon2020-02-1118:16:01|under算法|Ox00.前面的话&前置芝士本文Markd......
  • 「杂谈」字符串 Hash
    我们常用的字符串Hash形如:\[f(s)=\sum_{i=1}^{n}s_i\timesb^{n-i}\bmodp\]但是经常有人写出不正确的Hash。举例说明,以下Hash是不正确的:自然溢出Hash。固定底数和模数,模数是\(2^{64}\)级别的Hash。固定底数和模数,模数数\(2^{32}\)级别的双Hash。具......
  • 【五期李伟平】CCF-A(MobiCom'18 Session EdgeTech'18)A Game-Theoretic Approach to Mu
    Zafari,Faheem,etal."AGame-TheoreticApproachtoMulti-ObjectiveResourceSharingandAllocationinMobileEdgeClouds."(2018).  为了缓解移动边缘计算中资源稀缺问题,本文建议在多个边缘计算服务提供商之间共享资源,并将资源分配和共享问题建模为多目标优化......
  • 【五期李伟平】CCF-B(TFS'23)Consensus Reaching Process With Multiobjective Optimiza
    PengWu,FengenLi,JieZhao,etal.ConsensusReachingProcessWithMultiobjectiveOptimizationforLarge-ScaleGroupDecisionMakingWithCooperativeGame[J].IEEETransactionsonFuzzySystems2023:293-306.  本文针对大规模群体决策(LSGDM)中的共识达成......
  • Objective-C(02)|类的定义和对象初始化(初阶)
    书接前文,奇怪的语法体验继续!对象的初始化和Java的new运算符不同,OC的对象初始化使用初始化方法(initializer),个人觉得比new运算符更酷,这方法名和C语言中动态分配内存空间的malloc很像。实例的生成:[ClassNamealloc]Cocoa中某个类的对象的生成:[[ClassNamealloc]init]通常嵌......
  • 2023最新高级难度Objective-C面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度Objective-C面试题合集问:请解释一下Objective-C中的“MethodSwizzling”(方法混淆)是什么?它的原理和使用场景是什么?MethodSwizzling是Objective-C中的一个特性,它允许你在一个运行时环境中交换两个方法的实现。这意味着你可以替......
  • 2023最新中级难度Objective-C面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度Objective-C面试题合集问:请解释一下Objective-C中的属性(property)和实例变量(instancevariable)之间的关系。在Objective-C中,属性(property)和实例变量(instancevariable,简称ivar)都是类的组成部分,它们都用来存储对象的状态。然而,它......
  • 2023最新初级难度Objective-C面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-初级难度Objective-C面试题合集问:Objective-C和C++有什么区别?Objective-C和C++都是编程语言,它们都是从C语言演化而来的,并且都支持面向对象的特性。然而,尽管它们有共同之处,但两者在设计和使用上还是存在一些显著的区别:动态性:O......