weak的实现原理
发表于|更新于
|浏览量:
weak的实现原理
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2021-12-27
iOS SDK 不支持模拟器解决办法
背景iOS 第三方 SDK 不支持模拟器,报错提示: building for ios simulator, but the linked framework ‘’xxx(比如: IDLFaceSDK.framework)” was built for ios 解决办法.。 解决办法首先,在Target -> BuildSettings -> Excluded Source FileNames -> Debug 中添加一行,注意,key选择 Any iOS Simulator SDK,value 中添加报错中提示的 SDK的目录,示例如下: 然后,在项目中,引用对应 SDK 头文件,以及使用 SDK 方法的地方添加如下代码判断 1234567891011121314#if !(TARGET_IPHONE_SIMULATOR)#import <xxx/xxx.h>#endif#if !(TARGET_IPHONE_SIMULATOR)[xxx share].yyy = xxx;#endif
2021-12-30
iOS 录音 && 播放实现
录音代码录音转 mp3录音播放播放播放锁屏通知栏显示背景问题获取录音时长的问题参考iOS 获取音频时长的正确姿势 笔记,获取音频时长,有两个问题: 录音的 http 链接经过了一次封装,且需要 token 才能获取,这种情况下获取不到 录音的链接,下载保存到系统的 cache 文件夹下 1234567891011121314- (NSTimeInterval)audioDurationFromURL:(NSString *)url { AVURLAsset *audioAsset = nil; NSDictionary *dic = @{AVURLAssetPreferPreciseDurationAndTimingKey:@(YES)}; if ([url hasPrefix:@"http://"]) { audioAsset = [AVURLAsset URLAssetWithURL:[NSURL URLWithString:url] options:dic]; }...
2024-02-19
RxSwfit 使用
RxSwift使用备忘RxSwift 常用方法使用,这里记录一下。 RxSwfit实现搜索distinctUntilChanged的作用是,相邻的重复事件不产生新的事件,所以搜索中使用distinctUntilChanged可以保证只有每次触发的搜索都是不同的字符串,也可以保证输入停止后只会触发一次搜索。 throttle 和 debounce 的区别: throttle 每隔固定时间调用 debounce 事件停止后隔多少秒调用 所以,如果需要实现输入中搜索,使用 throttle 1234567891011fileprivate func configureSearch() { searchBar.rx.text .orEmpty .throttle(1.0, scheduler: MainScheduler.instance) .distinctUntilChanged() .subscribe { [unowned self] (query) in ...
2021-07-20
iOS 键盘删除键响应
iOS 键盘删除键响应背景背景是,实现一个分享到微信,多选加输入框,点击键盘删除键,删除多选选中对象的东西。 实现由于UITextField没有删除键的代理,所以笔者最开始的想法是,通过textField:shouldChangeCharactersInRange:replacementString:来实现监听,当当前字符串为空且要替换字符串为空时,说明是点击的删除按钮,通过Block方法回掉出去,代码如下: 12345678910- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ((textField.text.length == 0) && (string.length == 0)) { if (self.deleteBackwardBlock) { self.deleteBa...
2021-12-30
iOS 音频后台播放 && 锁屏显示及控制
播放锁屏通知栏显示背景播放音频时,希望通知界面能显示,且能控制音频播放。由于之前需求是进入后台时播放暂停,所以每次打开通知界面时,播放就暂停,看不到类似于音乐播放器那样的效果。后来发现,去除进入后台暂停代码后,通知界面就可以显示播放器,但是不能控制、且没有进度。 实现支持后台播放首先需要 APP 支持后台播放,即,一方面去除进入后台播放暂停的代码逻辑;另一方面,设置 Target -> Signing & Capabilities 中,添加 Backgroud Modes,打开 Audio, AirPlay, and Picture in Picture。图片如下: 注意设置AVAudioSession,播放前根据实际需要设置,播放后关闭 AVAudioSessionCategory类型 Category类型 当按”静音”或者锁屏时是否静音 是否可以和其他支持混音的 APP 混合播放 是否支持后台 场景举例描述 AVAudioSessionCategoryAmbient 是 是 否 常用于 APP 的背景音,比如玩游戏时还可以听音乐 AVAud...
2025-08-21
关于我用CodeBuddy开发了几个APP的体验
背景一直想写,但是太忙了,用CodeBuddy新开发iOSAPP,又同时想做鸿蒙APP,好家伙,是真的忙不过来。 先说体验:我觉得CodeBuddy是最厉害的,(在座的谁赞成,谁反对),🤪,就这么说吧,我用过Trae,Cursor, Windsurf,还申请了Kiro,综合下来,我觉得目前CodeBuddy对于我来说是最厉害的。 我最早用的是Trae,一开始国际版我就用了,使用期间开发了一个app吧,用着用着就智障了,就是本来好好沟通着,突然就感觉对方变傻了,还把项目修改坏了,辛辛苦苦干了好几天,一下子回到解放前了……如果是用量达标,我倒是宁可他提醒我用量达标,也不希望换成一个傻子,就像你跟一个人聊得正投缘,觉得是知己,突然间她流着口水变成了傻子,这换谁也接受不了啊🤣 噢噢,忘了说背景,我是用这些工具做app开发,从头开始开发。所以上面的体验仅供参考。 优点先说优点: 开发快速,只需要说一句话,就能快速搭建一个APP的框架,实现基本功能。 不依赖语言,通过类似的工具,模糊了开发语言的鸿沟,不必说必须学会了某个开发语言,才能开发某种APP或网站,初步能实现”任何人只要有想...
公告
This is my Blog