拼图APP
发表于|更新于
|浏览量:
背景
建设银行龙卡信用卡小程序有个拼图小游戏,如下图所示,感觉挺好玩的
于是就试着做了一个APP版出来,简单有趣,给小孩玩耍再好不过了,开源出来,欢迎大家感兴趣的自己运行到手机上体验。
Github地址: 拼图
最终效果如下:

文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2024-06-20
算法——两数之和、字母异位词分组、最长连续序列、移动零
算法——两数之和、字母异位词分组、最长连续序列、移动零的实现 两数之和 给指定的数,找到数组中两数之和为给定数的 index 思路: 使用字典 dict 存储,key 为数组中 index 对应的值, value 为 index。然后遍历数组, 如果 target - value在数组中存在,则返回target-value 对应的字典的 value 即 index和当前 value 对应的 index; 如果不存在,则把当前 value 和 index 存入数组中。 解法: 123456789101112131415161718192021/**index, value 遍历数组如果 target - value 在字典中,则返回字典中的index和当前index如果不存在,则存储当前值和 index,dict[value] = index*/func twoSum(_ nums: [Int], _ target: Int) -> [Int] { var dict = [Int: Int]() for (index, value) in nums.enu...
2022-04-26
《24点》APP——提示功能的实现
更新:《24点》APP——提示功能实现背景商店里所有24点 APP 的一个付费功能是提示的获取,会通过限制提示次数,超出次数后观看广告或者购买来解锁额外次数。比如: 这里就来分享一下,类似24点的提示功能是怎么实现的,其实现步骤如下: 步骤一:判断结果能不能等于24; 步骤二:如果能等于24,显示出能得到24的表达式。 下面详细记录一下实现的过程: 解法原理步骤一,判断能不能等于24有[a, b, c, d] 四个数字,任取两个数字,通过遍历运算符得到运算结果 e,然后把运算结果和剩余的数字放入新的数组中,重复上面的计算过程,直到数组中有一个元素为止;最后判断数组中唯一的数字是否等于24即可。 这里需要注意几点,一是遍历运算符的时候,加和乘符合交换律,所以不需要重复计算;二是除法会有小数,所以最终判断是否等于24的时候,需要通过设置误差范围来判断;再有就是除法的除数不能为零。 所以最终解法描述如下: 定义误差范围,定义要对比的值,定义运算符数组; 定义判断是否相等的判断方法,传入值和要对比的值的绝对值小于误差范围,即视作相等; 数据转换,由于传入的数字是Int,所以通过...
2020-08-10
iOS beta4崩溃修改
iOS beta4崩溃修改前言升级iOSBeta4后,有用户反馈使用我们APP时会崩溃,有登录的、查看详情的,都会出现崩溃。我们查看Bugly数据也发现崩溃率上升了0.02%,直接超出了指定的崩溃指标。虽然是由于升级beta版系统导致的,但还是要排查出具体原因,然后尽快适配。所以我说一下我发现的哪个API导致的,供大家参考一下。 排查由于崩溃是必现的,所以排查起来很容易,找一台升级了iOS14 beta4的手机,然后复现步骤,看具体崩溃的地方,即可我们APP是由于使用了SexyJson这个库,其中SexyJsonProtocol这个类第67行中sexyToValue()的方法里使用AnyRandomAccessCollection这个地方有强制解包属性,在之前的系统版本中,这个地方返回的值不为空,所以没有问题,但是在这个版本里,这个属性返回为空了,就导致了新系统中的崩溃。 如图所示位置: 修改由于是强制解包导致的,所以直接的修改就是,把这个地方的强制解包,改为if let的格式,修改后,运行,binggo,崩溃确实没了。但是在验证过程中,由于我们使用这个是把请求的对象转为参数...
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-08-02
iOS 启动时间优化
iOS 启动时间优化——相关背景iOS的启动时间优化有很多相关的文章,本来不打算写,但是总归是自己整理一遍印象更深刻。这里打算从原理-实践-面试相关三个方面来入手。首先要理解APP启动的原理,启动做了什么?然后针对启动过程中的事件哪些是开发可以进行优化的,去实践?最后则是,面试相关,与启动优化相关的面试有很多,笔者打算列举一下,分别涉及到启动的哪些问题。 启动原理启动分为冷启动和热启动。冷启动指的是APP进程被杀掉后,从零打开;热启动指的是,APP进入后台,再切换到前台唤起到过程。这里通常说的启动优化,指的是冷启动优化。(Ps: 这里某些版本会出现,刚杀掉的APP,立即再次打开,会直接闪退的问题,是系统的Bug)。 冷启动的过程分为main函数之前(pre-main)和main函数之后两个阶段。 pre-main阶段就如很多文章说的: pre-main阶段的过程分为dylibs loading ——> rebase/binding ——> ObjC setup ——> initializer四个部分。每个部分吧啦吧啦…但每次问到这个时候,死记硬背出来真的累人...
2021-09-03
iOS 15导航栏设置
iOS 15导航栏设置背景使用Xcode 13.0运行项目到iOS 15的手机上,出现导航栏黑色。但是在低版本Xcode 运行到手机就没有问题。 修改设置方法需修改,参考barTintColor not working in iOS 15 原来设置导航栏代码不变,新增设置UINavigationBarAppearance实例对象的属性,然后赋值到全局的 navigationBar 或者单个页面的 navigaitonBar 属性中,取决于项目的设置是全局 NavigationBar 还是单个页面设置(可参考iOS StatusBar 设置)。 代码如下: 123456789101112131415161718- (void)updateNavigationBarColor:(UIColor *)color { UINavigationBar *bar = self.navigationController.navigationBar; if (@available(iOS 13.0, *)) { UINavigationBarAp...