检查内存管理问题的方式有哪些?

 

检查内存管理问题的方式有哪些?

1)点击Xcode顶部菜单中的Product Analyze。这种方法主要可以查看内存泄露,变量未初始化,变量定义后没有被使用到

2)使用Instrument工具检查。点击Xcode顶部菜单中的Product Profile,弹出一个界面,选择左侧的Memory后,再选右侧的Leaks。

3)人工检查


runtime

简介:

1.通过 Objective-C 

 直接编写 Objective-C 代码 在程序运行期间会自动将代码转换成相应的结构体和函数。

 2.通过NSObject的方法 NSObject方法定义了许多方法用来直接调用Runtime里面的方法 

 isKindOfClass:;isMemberOfClass:

 respondsToSelector:

 conformsToProtocol:

 methodForSelector:

 3.直接操作runtime方法

 runtime系统是一个C语言静态库,它拥有许多函数和结构体数据 需要导入

Class:Class结构体主要存储类的实例变量和实例方法

OC编译之后 类是由Class表示 实际指向objc_class结构体

isa:指向metaClass(元类) 存储类的类方法和类变量

super_class:指向父类

methodLists:该类的方法列表

ivars:存储类的成员变量的信息

Method:是runtime内部定义的函数,用来代表一个方法

介绍:

SEL method_name:方法选择器的名字 用来区分方法的ID

获取SEL的方法

1、@selector()

2、NSSelectorFromString()

3、sel_registerName函数

char *method_types:类型 存储着方法的参数类型和返回值类型

IMP method_imp:指向此方法的具体实现 指向的方法在内存中的位置

Ivar:实例变量


使用

获取类名:class_getName

获取父类名:class_getSuperclass

获得实例变量的大小:class_getInstanceSize


获得方法名:method_getName

获得方法的实现:method_getImplementation

获得方法的参数 和返回值类型的字符串:method_getTypeEncoding

获得方法参数的个数:method_getNumberOfArguments

设置实现方法:method_setImplementation

交换两个方法:method_exchangeImplementations

发送消息:objc_msgSend

添加重写 一个方法:class_addMethod

替换方法:class_replaceMethod

获得实例方法:class_getInstanceMethod

获得所有实例方法:class_copyMethodList

获得方法的实现IMP:class_getMethodImplementation

查询是否响应某个方法:class_respondsToSelector


支付功能

支付宝

1.导入AlipaySDK.bundle AlipaySDK.framework 系统库SystemConfiguration.framework

2.导入头文件 #import  

3.info.plist注册scheme 

4.配置请求Order信息

《1》将商品信息拼接成字符串

《2》获取私钥并签名商户信息

《3》生成订单

5.设置回调方法

微信

1.开放平台申请帐号 并开通支付功能

2.导入SDK 添加依赖库

3.后台生成订单 开始支付

4.用户确认信息输入密码

5.支付完成 跳回app

银联

UPPayPlugin无卡交易

UPPayPluginPro无卡交易和VIPOS音频口支付

需要把.m改成.mm

1.添加SDK包 添加系统库

2.服务器准备交易流水号

3.startPay 开始支付

4.设置回调方法


环信

消息:EMMessage

消息内容

文本:EMTextMessageBody

图片:EMImageMessageBody

位置:EMLocationMessageBody

语音:EMVoiceMessageBody

视频:EMVideoMessageBody

文件:EMFileMessageBody

发送方式

单聊:EMChatTypeChat

群聊:EMChatTypeGroupChat

聊天室:EMChatTypeChatRoom

会话:chatManager

获取会话:getConversation 区分聊天方式单、群、聊天室

删除会话:deleteConversation、deleteMessages(删除会话中的消息)

获取会话列表:getAllConversations

获取会话未读消息数:[EMConversation unreadMessagesCount];

聊天:chatManager

发送消息:asyncSendMessage

接收消息:EMChatManagerChatDelegate 代理的回调

下载消息附件:asyncDownloadMessage

设置消息已读:asyncSendReadAckForMessage

好友管理:

获取好友列表:getContactsFromServerWithError

好友申请:contactManager

发送加好友申请:addContact

监听加好友请求:addDelegate

同意加好友申请:acceptInvitationForUsername

拒绝加好友申请:declineInvitationForUsername

删除好友:deleteContact

黑名单:contactManager

获取好友黑名单:getBlackListFromServerWithError

加入黑名单:addUserToBlackList

移出黑名单:removeUserFromBlackList

群组管理:groupManager

创建群组:createGroupWithSubject

获取群详情:fetchGroupInfo

群组:

拉人:addOccupants:toGroup:welcomeMessage

申请入群:applyJoinPublicGroup

同意入群:acceptJoinApplication

拒绝入群:declineJoinApplication

退出群组:leaveGroup

解散群组:destroyGroup

修改群名称:changeGroupSubject

修改群描述:changeDescription

群成员管理:

移除群成员:removeOccupants

加入群黑名单:blockOccupants

移出群黑名单:unblockOccupants

群消息:

屏蔽/取消屏蔽群组推送:ignoreGroupPush

管理群组的apns离线推送:getMyGroupsFromServerWithError

获取公开群组:getPublicGroupsFromServerWithCursor

实时通话:

发起实时通话:

语音:makeVoiceCall

视频:makeVideoCall

同意通话请求:answerCall

结束实时通话:endCall


我叫什么?来面试iOS开发工程师 可以干什么

每天7点-9点以组为单位 面试面试题

简历上 需把 支付 即时通讯 写上

互相模拟面试 要录视频 面试完 回顾面试的欠缺处 并改正

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,635评论 0 9
  • 1 一个人的价值,在现如今的社会中,具体的体现就是赚钱的能力,形成主流的价值观。 在这样的价值评价体系下,焦虑、迷...
    西风5阅读 456评论 0 0