首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏linux百科小宇宙

    Ubuntu下如何安装并使用Objective-C

    对OS X或iOS编程过的朋友应该对Foundation库不陌生吧,这个就是在gnustep库里的,如果不装此库,你连NSObject都用不了,呼呼~先安装gnustep sudo apt-get install gnustep 完成之后,我们再安装gnustep-devel sudo apt-get install gnustep-devel 这样整个需要安装的环境都安装好了 GNUstep/Makefiles/GNUstep.sh 这样,当前控制台的GNUStep的编译环境就建立好了。 = /usr/share/GNUstep/Makefiles include $(GNUSTEP_MAKEFILES)/common.make ADDITIONAL_FLAGS 这里要注意的是,对于其它Linux版本的系统,GNUStep的默认安装路径可能不是在/usr/share/之中,因此需要根据当前GNUStep/Makefiles的路径对GNUSTEP_MAKEFILES

    1.2K00发布于 2021-06-17
  • 来自专栏哈雷彗星撞地球

    # iOS中的KVO底层实现

    1.GNUstep中的KVO实现 GNUstep是Objective-C中大部分实现的前身,虽然OC在GNUstep的基础上做了许多更新和优化,但是很多基本逻辑思路是一致的。 而KVO的源码又没有开源,所以我们就只能先从GNUstep的实现中来参考一二了。 [GNUstep Core Base](http://wwwmain.gnustep.org/resources/downloads.php? site=ftp%3A%2F%2Fftp.gnustep.org%2Fpub%2Fgnustep%2F) 中有Foundation框架的实现。虽然可能与OC的实现不太一样,但是总体思路是一样的。 1.1 - addObserver: forKeyPath: options: context: 的实现 先来看一下源码,由于是GNUstep的开源框架,所以部分类型还是GS前缀,为了便于理解,我已添加一些注释

    1.5K30发布于 2019-03-29
  • 来自专栏HelloCode开发者学习平台

    KVO的实现原理

    这个需要用到GNUstep的源码,虽然GNUstep不是苹果官方的源码,但是还是有很高的参考价值的 在GNUstep搜索observeValueForKeyPath 表示被观察对象收到了一个 -setValue

    1.5K40编辑于 2022-03-15
  • 来自专栏程序员Gank

    《Objective-C-高级编程》干货三部曲(一):引用计数篇

    所以这本书的作者通过GNUstep的源码来推测了苹果Cocoa框架的实现。 下面开始针对每一个方法,同时用GNUstep和苹果的实现方式(追踪程序的执行和作者的猜测)来对比一下各自的实现。 GNUstep实现: alloc方法 //GNUstep/modules/core/base/Source/NSObject.m alloc: + (id) alloc { return [self 对象的引用计数可以通过retainCount方法来取得: GNUstep/modules/core/base/Source/NSObject.m retainCount: - (NSUInteger) autorelease实现 和上文一样,我们还是通过GNUstep和苹果的实现来分别看一下。 GNUstep 实现 //GNUstep/modules/core/base/Source/NSObject.m autorelease - (id)autorelease { [NSAutoreleasePool

    2.1K40发布于 2018-07-23
  • 来自专栏小黑娃Henry

    OC底层探索15-Strong和Copy区别浅谈OC底层探索15-Strong和Copy区别浅谈

    其中有几个思路:CFFounation、Swift中的Founation(开源)、GNUstep。其中:CFFounation根本就没有满足NSCopying协议;Swift虽然开源了,但是不够明确。 最终发现了GNUstep-翀鹰精灵。然后我打开了新世界。 ?

    1.1K10发布于 2021-08-09
  • 来自专栏技术总结

    《Objective-C高级编程》温故知新之"自动引用计数"

    release 和 autorelease 的区别 4、无法释放非自己持有的对象,如果释放非自己持有的对象就会造成崩溃 alloc/retain/release/dealloc 实现 1、GNUstep 的实现 由于NSObject类的源代码没有公开,所以借助与苹果的Cocoa框架类似的GNUstep来理解苹果的Cocoa实现。 可以通过GNUstep的源代码确认一下 retainCount源代码 由对象寻址到对象内存头部,从而访问其中的 retained 变量。 2、苹果的实现 alloc类方法首先调用allocWithZone:类方法,这和GNUstep的实现相同,然后调用class_createInstance 函数,最后通过调用 calloc 来分配内存块 如图 GNUstep将引用计数保存在对象占用内存块头部的变量中,而苹果的实现,则是保存在引用计数表中的记录中。

    95350发布于 2018-08-03
  • 来自专栏全栈程序员必看

    mac系统更新失败是怎么回事_苹果X注册Id出现验证失败

    configure: Using Apple Objective-C runtime checking for Apple Foundation library... yes configure: WARNING: GNUSTEP_SYSTEM_ROOT is not defined in your environment, preventing the use of GNUstep's Foundation library configure: Using

    2.8K30编辑于 2022-09-29
  • 来自专栏深度学习与python

    苹果宣布使用Swift全面重写Foundation框架

    不过,对于其他支持 Swift 但只有原始 GNUstep Objective-C 运行时的平台(如 Linux)来说就不是这样了。

    1.3K30编辑于 2023-03-29
  • 来自专栏考研复试面试

    25面向OBject-c语言的超详细知识点教程整理

    应用场景:主要用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,是NeXTSTEP和OpenStep的基础语言,广泛应用于苹果iOS和OS X系统的应用开发。

    63310编辑于 2024-10-17
  • 来自专栏HelloCode开发者学习平台

    iOS底层原理(二):运行时研究(一)

    苹果和GNU各自维护一个开源的运行时 / GNUStep版本,这两个版本之间都在努力的保持一致。 平时的业务中主要是使用官方Api,解决我们框架性的需求。

    52040编辑于 2023-03-23
  • 来自专栏CSDNToQQCode

    TCP/UDP常见端口参考(超全_面试题常用_建议收藏)

    用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep

    1.7K20编辑于 2022-11-29
  • 来自专栏Golang语言社区

    【Go 语言社区】linux常用网络服务端口一览表及详细分析

    用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep

    1.8K70发布于 2018-03-20
  • 来自专栏Debug客栈

    网络笔记之端口及常见端口号

    用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep

    2.9K61发布于 2019-12-23
  • 来自专栏深度学习与python

    Swift 2023:所有权、宏和 C++ 互操作

    不过,对于其他支持 Swift 但只有原始 GNUstep Objective-C 运行时的平台(如 Linux)来说就不是这样了。

    1.7K10编辑于 2023-03-29
  • 来自专栏iOS开发干货分享

    “赢”战2020!阿里、字节:一套高效的iOS面试真题!

    NSNotification相关 苹果并没有开源相关代码,但是可以读下GNUStep的源码,基本上实现方式很具有参考性 实现原理(结构设计、通知如何存储的、name&observer&SEL之间的关系等

    1.3K31发布于 2020-03-04
  • 来自专栏iOS小生活

    KVO详解(二)

    但是我们退而求其次,我们可以在GNUStep的源码(http://www.gnustep.org/resources/downloads.php)中去探寻。

    93431发布于 2021-03-25
  • 来自专栏站长的编程笔记

    HTTP,TCP,UDP常见端口对照表大全

    用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep

    2.2K40编辑于 2022-12-02
  • 来自专栏咻一咻

    TCP/UDP常见端口参考

    服务的会合点发现(RP-DISC) 500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP) 535 iiop 互联网内部对象请求代理协议(IIOP) 538 gdomap GNUstep

    2.2K30发布于 2020-05-29
  • 来自专栏华章科技

    4'43''视频看完编程语言排行榜15年沉浮:Python这样上位

    Objective-C看到这个语言的标识,就知道和苹果有点关系了,它是扩充C的面向对象编程语言,主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统。

    2K82发布于 2019-09-04
  • 来自专栏机器学习算法与Python学习

    4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

    Objective-C看到这个语言的标识,就知道和苹果有点关系了,它是扩充C的面向对象编程语言,主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统。

    1.8K20发布于 2019-10-15
领券