-
在Xcode自定义lldb命令pjson
在主目录下新建.lldbinit和print_json.pytouch ~/.lldbinittouch ~/print_json.py在print_json.py中输入以下代码import lldbdef print_json(debugger, command, result, internal_dict): target = debugger.GetSelectedTarget() process = target.GetProcess() thread = pro...…
-
理解 Swift 的方法派发
本文转自理解 Swift 的方法派发 派发(dispatch)是一个比较通用的概念,一般是指为了完成某个目的把一个东西发送到某个位置的行为。在计算机科学中,这个术语在很多地方都会用到,比如派发一个调用给某个函数,派发一个事件给一个监听者,派发一个中断给中断处理程序,或者派发一个进程给 CPU。在这篇文章中,我们主要研究 Swift 中的派发,也就是派发一个调用到某个方法上,Swift 中的方法派发包括类的方法派发和基于协议的派发。类的方法派发Swift 中类的方法的派发有以下三种方式: ...…
-
iOS老司机万字整理, 可能是最全的Swift Tips
本文转自iOS老司机万字整理, 可能是最全的Swift Tips 可能是最全的Swift Tips1. 关于Swift1.1 Swift的优点 Swft更加安全, 它是类型安全的语言. Swift容易阅读, 语法和文件结构简易化. Swift易于维护, 文件分离后结构更清晰. Swift代码更少, 简洁的语法, 可以省去大量冗余代码. Swift速度更快, 运算性能更高.1.2 Swift和OC如何相互调用? Swift调用OC代码, 需要创建一个Target-Bridgin...…
-
iOSTextView长度限制
-(void)textViewDidChange:(UITextView *)textView{ UITextRange *selectedRange = [textView markedTextRange]; UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0]; if (!position) { NSInteger length = ...…
-
ReactNative初始慢的问题
创建RN工程有两种方式,一种是npx,一种是yarn的# 第一种npx react-native init RNProject# 第二种yarn create react-native-app RNProject使用npx react-native init初始化React Native项目时需要下载很多依赖,会比较慢。有几种方法可以加速初始化过程: 使用yarn create react-native-app代替npx react-native init。yarn create...…
-
ReactNative踩坑
React Native默认运行真机,需要配置证书,如果要运行模拟器需要加模拟器yarn ios --simulator 'iPhone 14Pro'React Navigation安装npm install @react-navigation/nativenpm install react-native-screens react-native-safe-area-contextnpx pod-install iosnpm install @react-navigation/native...…
-
ReactNative环境安装
ReactNative环境安装安装Node和watchmanbrew install node@16brew install watchmannode@16 中的@16表示安装 Node.js 16.x 系列的最新版本。可选安装yarn,yarnFacebook 提供的替代 npm 的工具,可以加速 node 模块的下载npm install -g yarn创建新项目npx react-native@latest init AwesomeProject运行React Native项目使用n...…
-
关于BUILD_LIBRARY_FOR_DISTRIBUTION
在 CocoaPods 的 podspec 文件中,s.build_library_for_distribution 设置表示这个 pod 是否需要在集成时作为动态库进行编译。它是一个布尔值,默认为 false。如果设置为 true,表示这个 pod 会在集成时单独编译成一个动态库,然后主项目再链接这个动态库。设置为 true 的常见场景有: pod 包含了 C/C++ 代码,需要编译成动态库后再集成到项目中。 pod 中包含 Swift 代码,但主项目是 Obje...…
-
关于 Pod 库的资源引用 resource\_bundles or resources
本文转自关于 Pod 库的资源引用 resource_bundles or resources1. 资源文件引用的方式在第一节,先来介绍一下 CocoaPods 两种资源文件引用的方式——resource_bundles & resources1.1 resource_bundlesresource_bundles 允许定义当前 Pod 库的资源包的 名称和文件 。用 hash 的形式来声明,key 是 bundle 的名称,value 是需要包括的文件的通配 patterns。 ...…
-
Swift 调用 OC 实用技巧
Swift 调用 OC 实用技巧Swift App混入OC/C/C++代码方法一使用桥接文件。方法二使用.modulemap Swift App项目,引入OC/C/C++文件。 创建 文件名必须为module 后缀为.modulemap的文件。 配置工程BuildSetting的Swift Compiler - Search Paths选项,值为module.modulemap文件所在的目录路径或其上层目录路径。此处可为:${SRCROOT}/MixFrameworkTest${SR...…
-
云音乐 Swift 混编 Module 化实践
转自云音乐 Swift 混编 Module 化实践云音乐 Swift 混编 Module 化实践云音乐技术团队背景云音乐 iOS App 经历多年的迭代,积累了大量的 Objective-C(以下简称 OC) 代码,目前已经完成主工程壳化,各层组件关系如下: # translation = translator.translate("你好,世界!")# print(translation)import reimport jsonfrom multiprocessing import Processfrom threading i...…
-
shutil模块使用
# f = open("dict_learn.py",'r',encoding = 'UTF-8')# print(f)# content = f.read(200)# print(content)# content = f.readlines()# print(content)# for line in f:# print(line)# f.close()# with open("learn1.py","r",encoding = 'UTF-8') as f:# coun...…
-
pythonos.walk使用案例
批量重命名# 导入os模块import os# 定义一个函数,接受一个路径参数def rename_files(path): # 使用os.walk()函数遍历当前目录和所有子目录 for root, dirs, files in os.walk(path): # 遍历每个文件 for file in files: # 拼接完整的文件路径 file_path = os.path.join(root, fil...…