美文网首页技术
iOSFoundation-NSProxy介绍

iOSFoundation-NSProxy介绍

作者: 萧修 | 来源:发表于2023-03-10 16:59 被阅读0次

NSProxy概念

NSProxy是一个抽象的超类,为充当其他对象或尚不存在的对象的代理对象定义API。通常,发送给代理的消息被转发到实际对象,或者导致代理加载真实对象,NSProxy的子类可用于实现透明的分布式消息传递或用于延迟实例化创建代价高昂的对象。

NSProxy用法

NSProxy实现了包括NSObject协议在内的基类所需的基础方法,但作为一个抽象的基类并没有提供初始化方法,它接受任何自己没有定义的方法它都会产生一个异常,所以它的子类必须提供初始化并创建方法,并且重载fowardinvacation

可作为消息重定向封装的抽象类,类似一个代理人,中间件,继承它。

解决NStime的循环引用问题
如下代码

//定时器代码
{
    GGXProxy *g = [GGXProxy proxyWithTarget:self];
    self.timer = [NSTimer timerWithTimeInterval:1.0 target:g selector:@selector(timeDid) userInfo:nil repeats:YES];
    [[NSRunLoop currentRunLoop]addTimer:self.timer forMode:NSRunLoopCommonModes];
}

//虚基类的核心代码
+ (instancetype)proxyWithTarget:(id)target {
    GGXProxy *x = [GGXProxy alloc];
    x.tar = target;
    return x;
}
- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel {
    return [self.tar methodSignatureForSelector:sel];
}

- (void)forwardInvocation:(NSInvocation *)invocation {
    [invocation invokeWithTarget:self.tar];
}

算法题

//给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。
var s = "iletyetilode"
//s = "aabb"
var index = firstUniqChar(s)

print(index)

func firstUniqChar(_ s: String) -> Int {
    for i in 0..<s.count {
        //获取每个字符
        let ts = s[s.index(s.startIndex, offsetBy: i)]
        
        //判断
        let lsIndex = s.lastIndex(of: ts)
        let fiIndex = s.firstIndex(of: ts)
        
        if lsIndex == fiIndex {return i}
        
    }
    return -1
}

相关文章

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

  • 介绍

    该文集属于收录文集,里面的内容不全是本人创作,有收录个人喜欢的内容。 *(偏个人向)

  • 介绍

    该文集是制作的小文随写,全是本人小时候不知道怎么想的就写了这些。(。í _ ì。)最近才再次找到这些稿子哈哈。不喜...

网友评论

    本文标题:iOSFoundation-NSProxy介绍

    本文链接:https://www.haomeiwen.com/subject/bpzzldtx.html