E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【Objective-C】
Objective-C
类的加载原理(中)
上篇文章分析了_objc_init与read_images的逻辑,最后定位到了类的初始化是在realizeClassWithoutSwift中的,这篇文章将继续分析。一、realizeClassWithoutSwift在realizeClassWithoutSwift中发现了对ro、rw等的一系列操作。在read_imags中要进入这个方法需要实现+load方法。核心逻辑精简后如下:staticC
HotPotCat
·
2021-07-23 15:55
Objective-C
类的加载原理(下)
根据上篇文章的分析,分类的加载有两条线路:methodizeClass->attachToClass->attachCategoriesload_images->loadAllCategories->load_categories_nolock->attachCategoriesattachCategories最终调用到了attachList。一、attachList方法列表处理既然最终分类的处理
HotPotCat
·
2021-07-23 15:46
Objective-C
类的加载原理(上)
上篇文章中分析了dyld整个流程以及dyld与objc的交互。这篇文章将继续分析dyld调用map_images究竟进行了什么操作。一、_objc_init分析void_objc_init(void){staticboolinitialized=false;if(initialized)return;initialized=true;//fixmedeferinitializationuntila
HotPotCat
·
2021-07-20 11:24
Flutter package example swift 切换为 objc
如果你的package中的exampleiOS默认使用的语言是swift,现在你想把它切换为
Objective-C
,那就来看看这篇文章吧.前提:拷贝一份package工程出来.1.删除掉example中
那一只大象
·
2021-07-19 18:01
Swift笔记 - 基础部分
基础部分swift包含了C以及
Objective-C
上所有的基础数据类型。
Candy7
·
2021-07-17 18:17
RxSwift学习一
一般与函数式融合在一起,所以也会叫做:函数响应式编程(FunctionalReactiveProgramming,简称FRP)比较著名的、成熟的响应式框架:ReactiveCocoa简称RAC,有
Objective-C
冷武橘
·
2021-07-14 17:15
Objective-C
动态方法决议
前言上一篇文章慢速方法查找一文详细分析了消息慢速查找的流程,当在找不到的时候imp=forward_imp(消息转发),那么这篇文章主要就是探索消息转发的过程,以及我们可以在这过程中可以做出哪些灵性的处理。动态方法决议又是怎么实现的?带着问题开始我们的探索吧!!哈哈动态方法决议通过汇编的断点可以得知,当imp没有找到的时候会进入libobjc.A.dylib_objc_msgForward_imp
冼同学
·
2021-07-14 16:43
Objective-C
动态方法决议
上篇文章分析了消息慢速查找流程,当消息找不到的时候会执行_objc_msgForward_impcache汇编代码。最终调用到_objc_forward_handler进行报错处理,那么在报错之前能够进行处理么?一、动态方法决议当imp没有找到的时候的时候会赋值libobjc.A.dylib_objc_msgForward_impcache`,首先会进入如下代码逻辑:if(slowpath(beh
HotPotCat
·
2021-07-13 19:25
iOS Runtime 之 isa 粗谈
在
Objective-C
中,任何类的定义都是对象(实例)。类和类的实例没有本质上的任何区别。任何对象都有isa指针。isa何为isa
一抹风情
·
2021-07-12 15:42
Objective-C
一、分类分类就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。你用分类都做了哪些事?声明私有方法分解体积庞大的类文件把Framework的私有方法公开特点1.运行时决议2.可以为系统类添加分类分类中都可以添加哪些内容?1.实例方法2.类方法3.协议4.属性:在分类中添加了一个属性时,只是声明了对应的set方法和get方法,并没有为我们在分类当中添加了实
AlanGe
·
2021-07-09 17:33
iOS-Swift-响应式编程
一.响应式框架比较著名、成熟的响应式框架:ReactiveCocoa:简称RAC,有
Objective-C
、Swift版本官网:ht
Imkata
·
2021-07-05 15:49
002编程之道-01-objc编程之道(上篇)
Part1:让自己习惯Objective-C1、视
Objective-C
为一门动态语言
Objective-C
是动态语言,C++是静态语言。
修_远
·
2021-07-02 09:49
JsonKit
Objective-C
's isa is deprecated错误
项目中用到了JsonKit解析器,但是每次运行都会报一堆错误。AssignmenttoObjective-C'sisaisdeprecatedinfavorofobject_setClass()DirectaccesstoObjective-C'sisaisdeprecatedinfavorofobject_getClass()这时,我们需要将BuildSettings中的CLANG_WARN_D
zgsddzwj
·
2021-06-27 20:18
Swift:基础(十五)函数
Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的
Objective-C
语言风格的方法。函数声明:告诉编译器函数的名字,返回类型及参数。函数定义:提供了函数的实体。
施家龙
·
2021-06-27 18:55
2021iOS面试题总结day8
Objective-C
中的函数调用都是通过objc
paperclouds
·
2021-06-27 16:42
Objective-C
runtime机制(1)——基本数据结构:objc_object & objc_class
Objective-Cruntime机制(1)——基本数据结构:objc_object&objc_classhttps://blog.csdn.net/u013378438/article/details/80493158深入解析ObjC中方法的结构https://www.jianshu.com/p/d7a60fc7b0a1从NSObject的初始化了解isahttps://github.com/
姜涛12345
·
2021-06-27 15:19
Objective-C
runtime机制(8)——OC对象从创建到销毁
在我们前面的几章中,分析了OC的runtime一些底层的数据结构以及实现机制。今天,我们就从一个OC对象的生命周期的角度,来解析在runtime底层是如何实现的。我们创建一个对象(或对象引用)有几种方式?Student*student=[[Studentalloc]init];Student*student2=[Studentnew];__weakStudent*weakStudent=[Stud
无忘无往
·
2021-06-27 12:43
函数式编程简介
iOS、Android这几年不约而同的都更换了编程语言,从
Objective-C
到Swift,从Java到Kotlin,一个明显的改变就是,语言不再是纯粹面向对象的,都加入对函数式编程的支持。
光明自在
·
2021-06-27 02:13
《初识TCP》使用
Objective-C
搭建本地服务器与远程服务器
本篇文章以macOS为例,需开启应用的联网功能,具体配置请看demo基础篇-搭建本地服务器对于大多开发人员而言,说到服务器,首先想到的应该是php、java,说到搭建本地服务器,大多会选择使用apache。But,这都不是我想要的,因为我都不会。我始终坚信GitHub是万能的,果然,它再一次的证明了我的选择是正确的。基于Cocoa的HTTP服务端框架CocoaHTTPServer。demo下载地址
认真的小弈
·
2021-06-27 01:16
【重新整理】关于
Objective-C
中UIScrollView的使用总结
前言:由于之前很早写的关于【iOS关于UIScrollView的几点总结】,是从自己的markdown笔记直接拷贝过来后也没有整理,所以在阅读上显得有点乱,今天花时间重新整理排版了下,方便阅读。还请见谅这么久才重新整理。1、什么是UIScrollView?当手机屏幕需要展示的内容较多超出一个屏幕时,用户可以通过滚动手势来查看屏幕以外的内容。普通的UIView不具备滚动的功能,UIScrollVie
洋子总
·
2021-06-27 00:00
iOS 代码使用 C++ 的 zero-cost abstraction 特性
不少iOS项目里都有C++代码的痕迹,
Objective-C
和C++虽然都是C的superset,但二者在语言特性上存在很大差异,
Objective-C
的runtime使其语言的特性更丰富更易使用,但代价是会增加性能损耗以及编译后的
MrPeak
·
2021-06-26 20:12
Objective-C
Runtime:深入理解类与对象
概述常说
Objective-C
是一门动态语言,那么问题来了,这个动态表现在那些方面呢?
iOS_小久
·
2021-06-26 19:19
ios 关于
objective-C
中BOOL 的若干陷阱
那么在
Objective-C
中,又出现了YES、NO。咋回事呢。
瞬csr
·
2021-06-26 14:39
第5部分
Objective-C
高级主题
第33章init向新创建的对象发送init消息,它就会初始化其下的实例变量。也就是说,alloc负责分配对象空间,init负责初始化对象。请注意init是实例方法,返回的是初始化后的对象地址。-(instancetype)init{//调用NSObject的init方法self=[superinit];//是否返回非nil的值?if(self){//为实例变量赋值_voltage=120;}ret
Sober_DeTong
·
2021-06-26 12:43
编写高质量iOS有效方法总结(一)
1.Objective-C起源
Objective-C
是C的“超集”,所以C语言中的所有功能在编写
Objective-C
代码时依然适用。
Objective-C
使用“消息结构”而非“函数调用”。
Inlight先森
·
2021-06-26 03:29
EffectiveObjective-C2.0 笔记 - 第四部分
Objective-C
不支持多重继承,但我们可以把某个类应该实现的方法定义在一系列的协议里面。
jrw7878
·
2021-06-25 20:02
Objective-C
语言的动态性总结(编译时与运行时)
编译时与运行时编译时:即编译器对语言的编译阶段,编译时只是对语言进行最基本的检查报错,包括词法分析、语法分析等等,将程序代码翻译成计算机能够识别的语言(例如汇编等),编译通过并不意味着程序就可以成功运行。运行时:即程序通过了编译这一关之后编译好的代码被装载到内存中跑起来的阶段,这个时候会具体对类型进行检查,而不仅仅是对代码的简单扫描分析,此时若出错程序会崩溃。可以说编译时是一个静态的阶段,类型错误
爱笑的猫mi
·
2021-06-25 14:02
iOS代码规范
iOS规范:仅适用于iOS的代码规范(使用
Objective-C
语言)。一.核心原则原则一:代码应该简洁易懂,逻辑清晰因为软件是需要人来维护的。这个人在未来很可能不是你。
樊开囧
·
2021-06-25 14:54
Swift 自定义运算符
Swift自定义运算符1.运算符Swift提供了一组对于C或者
Objective-C
开发者来说十分熟悉的运算符,并且补充了一些新的(特别需要注意的是,区间运算符和空值合并(nilcoalescing)运算符
Balopy
·
2021-06-25 12:53
解读objc_msgSend
引入众所周知,
Objective-C
动态性的根源在方法的调用是通过message来实现的,一次发生message的过程就是一次方法的调用过程。
吸血鬼de晚餐
·
2021-06-25 12:49
Objective-C
(十六、内存管理,自动释放池,ARC,强指针,弱指针,方法族)——iOS开发基础
转载自:
Objective-C
(十六、内存管理,自动释放池,ARC,强指针,弱指针,方法族)——iOS开发基础结合之前的学习笔记以及参考《
Objective-C
编程全解(第三版)》,对
Objective-C
路漫漫其修远兮Wzt
·
2021-06-25 09:48
Any 与AnyObject 有什么区别?
这就相等于
Objective-C
中等的‘id’。Any如果你的字典只会在Swift中使用,你就应该使用Any,因为你的型别(Int、Double、Float、
DingGa
·
2021-06-25 08:09
Objective-C
基础学习之Super关键字
1.super基本概念super是个编译器的指令符号,只是告诉编译器在执行的时候,去调谁的方法.self是一个隐私参数;selfreferstotheobjectreceivingamessageinobjective-Cprogramming.super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者superisaflagthattellsthecompile
WenJim
·
2021-06-25 08:49
Objective-C
的本质
1、我们平时编写的
Objective-C
代码,底层实现其实都是C\C++代码image.png2、n所以
Objective-C
的面向对象都是基于C\C++的数据结构实现的3、思考:
Objective-C
张贺通
·
2021-06-25 01:27
性能工具之Jmeter压测Hprose RPC服务
它是一个先进的轻量级的跨语言跨平台面向对象的高性能远程动态通讯中间件,它支持众多语言,例如nodeJs,C++,.NET,Java,Delphi,
Objective-C
,ActionScript,JavaScript
·
2021-06-24 23:59
jmeter
iOS开发之LLDB常用命令
LLDB是MacOSX上Xcode的默认调试器,支持在桌面和iOS设备和模拟器上调试C,
Objective-C
和C++。
张聪2021
·
2021-06-24 22:24
42.Xcode提示“expression is not assignable”
self.view.frame是
Objective-C
语法,是读取view属性的frame属性,在
Objective-C
中使用点来访问属性只是一种语法糖,所以self.view.frame这句话会被转换成
rebeccaBull
·
2021-06-24 21:44
【
Objective-C
】在 UIButton 上添加 UIActivityIndicator 及设置大小
开发中会遇到点击一个按钮,按钮上就多一个系统的小菊花,来示操作正在进行,例如下面的加好友按钮:直接上代码//初始化按钮UIButton*addFriendButton=[UIButtonemptyFrameView];addFriendButton.layer.masksToBounds=YES;addFriendButton.layer.cornerRadius=4.f;addFriendBut
酷酷的小虎子
·
2021-06-24 21:23
nil NSNull NULL
Objective-C
在C的表达不存在的基础上增加了nil。nil是一个指向不存在的对象指针。虽然它在语义上与NULL不同,但它们在技术上是相等的。
nemoispretty
·
2021-06-24 21:51
iOS对象的本质
准备工作Clang的概述Clang是一个C++编写、基于LLVM、发布于LLVMBSD许可证下的C/C++/
Objective-C
/Objective-C++编译器。
冼同学
·
2021-06-24 15:39
面试题
答:#import是
Objective-C
导入头文件的关键字,#include是C/C++导入头
天地一紫罗
·
2021-06-24 13:54
iOS常用第三方
1.BeeFramework基于MVC,是一个半混和框架,运用XML,CSS,
Objective-C
构建应用。下载地址2.iCarousel继承自UIView,大神封装的轮播图。
简书的推销员
·
2021-06-24 13:53
在类的头文件中尽量少引用其他头文件
与C和C++一样,
Objective-C
也是用“头文件”(headerfile)与“实现文件”(implementationfile)来去个代码。
BBLv
·
2021-06-24 00:34
runtime笔记 之 类与对象基础数据结构
运行时简介
Objective-C
语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。
ZYiDa
·
2021-06-23 15:46
Objective-C
「传值」
Objective-C
一、属性传值A界面->B界面传值B_界面.h文件(接收者)//////////B界面.h////////////1.声明属性@property(nonatomic,copy)NSString
LuisX
·
2021-06-23 14:46
iOS 感受黑魔法Method Swizzling的魅力(一)
作为iOS开发者,对runtime应该都有耳闻,这是
Objective-C
这门开发语言的动态性最好的体现,利用runtime可以做很多事,极大地提高开发效率。
Hem1ngTai
·
2021-06-23 14:51
Objective-C
super指针 superclass class 方法
super-(void)run{[superrun];}//对应的C++代码objc_msgSendSuper(self,(id)class_getSuperclass(objc_getClass("MJStudent"))},sel_registerName("run"));从objc源码中,可以看到对objc_msgSendSuper的定义,传入的super参数结构是objc_supervoi
lieon
·
2021-06-23 10:13
冒泡排序(
Objective-C
实现)
冒泡排序实现的基本方案:两个循环。在基本方案上做优化:方案1、在基本方案的基础上,增加子循环无交换时,排序结束的逻辑;方案2、在方案1的基础上,增加子循环中最小值交换到首位的逻辑;方案3、在基本方案的基础上,增加子循环中最小值交换到首位的逻辑,增加遍历到上次子循环最后一次交换时的位置的逻辑;优化方案3的实现代码如下://方案3、在基本方案的基础上,增加子循环中最小值交换到首位的逻辑,增加遍历到上次
songecit
·
2021-06-23 08:44
Swift 和
Objective-C
的几个易混淆点
Swift和
Objective-C
语法并不太相似,但是有些从C继承的东西是类似的,比如块注释、switch语句等,但是看起来一样的地方,也有些细微的不同,如果依照C的思路就容易出错,下面列举几点:因为
Objective-C
redexpress
·
2021-06-23 03:51
初窥Realm数据库
介绍realm是一个跨平台移动数据库引擎,支持iOS、OSX(
Objective-C
和Swift)以及Android。2014年7月发布。
NiubilityLeo
·
2021-06-23 01:48
上一页
35
36
37
38
39
40
41
42
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他