WKWebView中MessageHandler的内存泄漏问题解决过程

背景项目中使用了WKWebView替换了之前的UIWebView,牵扯到Hybird开发,我们需要和H5交互,所以用到了WKWebViewConfiguration 中的 WKUserContentController所以初始化代码如下 WKUserContentController *userContentController = [[WKUserContentController...
阅读(2423) 评论(2)

XCode9 打开StoryBoard崩溃问题解决办法

在XCode8时代创建了一个Swift的项目使用的是StoryBoard开发, 升级到XCode9之后,今天打开的时候,一点击StoryBoard就会崩溃看了崩溃日志:UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Could not find class named UIImage 意思说是找不到一个名为UIImage的类 这样根本...
阅读(316) 评论(0)

LeetCode-Longest Substring Without Repeating Characters

Q:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer is "b", with the...
阅读(175) 评论(0)

LeetCode-Add Two Numbers

Q :You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return...
阅读(184) 评论(0)

LeetCode-TwoSum

Q:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same e...
阅读(118) 评论(0)

Swift 关于Protocol扩展的静态特性

实验样本代码//声明一个协议 protocol SharedString { func methodForOverride() -> Void func methodWithoutOverride() -> Void }//扩展协议,实现默认实现 //注意方法methodWithoutOverride 中调用了 methodForOverride 方法,这里有一个上写文切换的问题 e...
阅读(203) 评论(0)

Block存储域探析

接《Block截获自动变量实现与__block修饰符内部实现》我们继续探讨Block留下的问题 1,__Block_byref_i_0 *__forwarding;这个指向自身的指针是什么鬼,有什么作用,什么时候用? 2,Desc_0结构体中多出来的void (*copy) void (*dispose)这两个方法有什么作用,什么时候用? Block 和 __block变量的实质 名称 实...
阅读(1226) 评论(0)

Block截获自动变量实现与__block修饰符内部实现

Block截获自动变量的实现解析 __block修饰符内部实现解析...
阅读(281) 评论(0)

Block实现

Block是如何实现的我们通过clang编译出Objective-C文件对应cpp文件,去看他的实现方式,对比不同样式的block的不同, 从中得到它的实现思想无参数Block的基本实现#import "ViewController.h"typedef void(^WxsBlock) ();@interface ViewController ()@end@implementation ViewCo...
阅读(224) 评论(0)

iOS能源优化

iOS能源优化首先我们需要知道为什么存在这个问题:四个字:用户体验在能源效率上来讲,用户体验表现为- 极佳的反应速度 - 系统在复杂操作上的处理速度 - 及时、适时的冷却设备 - 电池续航 所以,对于用户和开发者能源效率时一个非常重要的点我们先设想一下应该具备什么条件,如何做?- iOS系统的节能技术,这是根本 - 手机硬件的节能技术,系统本身软件的节能技术 - 智能的网络操作,允许开发者对网络行为...
阅读(1082) 评论(0)

iOS应用被杀死后继续获取用户地理位置

转自:点击打开链接苹果官方在iOS7.1以后对CoreLocation SDK进行更新,允许开发者在App被杀死的情况下,仍然可以获取用户的地理位置并且做一些操作.前期准备:打开后台定位功能plist文件配置这两项接下来是最核心的地方,创建一个CLLocationManager子类:.h文件CLLocationManager.h.m文件单例的生成与初始变量的初始化最重要的部分:限制触发机制最后是A...
阅读(1590) 评论(0)

iOS内存管理——autorelease方法解析

iOS内存管理——autorelease autorelease 自动释放 注意:autorelease和ARC 是完全不同的两个东西,没有任何联系。 autorelease和ARC autorelease的内存管理方式是在autoreleasePool释放的时候对其中持有的对象依次进行release操作,这样做有个隐患就是如果autoreleasePool迟迟不能被释放,则会有大量的对象在内存中,...
阅读(277) 评论(0)

iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现

iOS内存管理——alloc/release/dealloc方法的GNUstep实现与Apple的实现接上篇关于iOS内存管理的规则考我们通过alloc/release/dealloc方法的具体实现来深入探讨内存管理。什么是GNUstep `GNUstep`是`Cocoa`框架的互换框架,从源代码的实现上来说,虽然和Apple不是完全一样,但是从开发者的角度来看,两者的行为和实现方式是一样,或...
阅读(1055) 评论(0)

关于iOS内存管理的规则思考

关于iOS内存管理的规则思考 自己生成的生成的对象,自己持有。 非自己生成的对象,自己也能持有。 不在需要自己持有的对象时释放。 非自己持有的对象无法释放。 注:这里的自己是对象使用的环境,理解为编程人员本身也没有错对象操作和Objective-C方法对应 对象操作 Objectivew-C方法 生成并持有对象 alloc/copy/mutableCopy/new或以此开头的方法...
阅读(2823) 评论(0)

iOS 切换到MRC环境下打印 retainCount 始终是-1或者一长串证书

根据苹果的官方文档https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html上面写着应该返回的是这个对象的UINT_MAX, 并且不会释放, 这个UINT_MAX最大二进制为(11111111...
阅读(576) 评论(0)
154条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:265758次
    • 积分:3646
    • 等级:
    • 排名:第9919名
    • 原创:120篇
    • 转载:32篇
    • 译文:2篇
    • 评论:24条
    最新评论