- 零基础教你Unity接入IOS原生本地推送 一,新建Unity项目二,梳理程序流程三,处理代码逻辑四,测试场景搭建五,处理自动配置六,双端打包测试七,查看测试结果 从新建项目开始的保姆级教程,教你Unity接入IOS原生本地推送。 一,新建Unity项目 打开Unity Hub,点击 ”新建“ , 输入项目名称,选择存储位置,点击创建即可... 零基础教你Unity接入IOS原生本地推送 一,新建Unity项目二,梳理程序流程三,处理代码逻辑四,测试场景搭建五,处理自动配置六,双端打包测试七,查看测试结果 从新建项目开始的保姆级教程,教你Unity接入IOS原生本地推送。 一,新建Unity项目 打开Unity Hub,点击 ”新建“ , 输入项目名称,选择存储位置,点击创建即可...
- Unity 之 记录打包IOS首次安装启动弹窗通知权限问题 一,问题描述二,问题解决 一,问题描述 应用首次安装首次启动时,就是弹窗如下: 需求: 游戏启动时不进行弹窗,程序中使用的时候再进行权限弹窗。 — 二,问题解决 XCode中搜索 ”UnityNotificationLifeCycleManager.mm“ 找到”UnityAppCo... Unity 之 记录打包IOS首次安装启动弹窗通知权限问题 一,问题描述二,问题解决 一,问题描述 应用首次安装首次启动时,就是弹窗如下: 需求: 游戏启动时不进行弹窗,程序中使用的时候再进行权限弹窗。 — 二,问题解决 XCode中搜索 ”UnityNotificationLifeCycleManager.mm“ 找到”UnityAppCo...
- NSInvalidArgumentException *** -[__NSCFString stringByAppendingString:]: nil argument 运行时插入的Object为nil 或者调用一个没有实现的方法 performSegue但是没有在storyboard里面连线 解决办法: (1). 分析业务避免运行时对象为nil的情况 (2).... NSInvalidArgumentException *** -[__NSCFString stringByAppendingString:]: nil argument 运行时插入的Object为nil 或者调用一个没有实现的方法 performSegue但是没有在storyboard里面连线 解决办法: (1). 分析业务避免运行时对象为nil的情况 (2)....
- px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。 dip: device independent pixels... px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。 dip: device independent pixels...
- 1、多态 相同类型调用同一个方法呈现多种不同的行为特征就是多态 当子类对象直接赋值给父类指针变量,父类 *p = [子类 new];,运行类型是子类,编译类型是父类,所以p不能调用子类单独实现的方法,如果子类重写了父类方法,p调用的方法会是子类重写的方法 isKindOfClass:clazz 判断该对象是否为clazz... 1、多态 相同类型调用同一个方法呈现多种不同的行为特征就是多态 当子类对象直接赋值给父类指针变量,父类 *p = [子类 new];,运行类型是子类,编译类型是父类,所以p不能调用子类单独实现的方法,如果子类重写了父类方法,p调用的方法会是子类重写的方法 isKindOfClass:clazz 判断该对象是否为clazz...
- 1、 copy、mutableCopy方法 copy方法返回对象的不可修改的副本 mutableCopy方法返回的对象可修改的副本 1)、测试demo int main(int argc, char * argv[]) { @autoreleasepool { NSMutableString *book = [NSMutableString strin... 1、 copy、mutableCopy方法 copy方法返回对象的不可修改的副本 mutableCopy方法返回的对象可修改的副本 1)、测试demo int main(int argc, char * argv[]) { @autoreleasepool { NSMutableString *book = [NSMutableString strin...
- 1、Person.h #import <Foundation/Foundation.h> @interface Person : NSObject{ NSString *_name; int _age;} -(void)setName:(NSString *) name andAge:(int) age;-(void)say:(NSString *)conte... 1、Person.h #import <Foundation/Foundation.h> @interface Person : NSObject{ NSString *_name; int _age;} -(void)setName:(NSString *) name andAge:(int) age;-(void)say:(NSString *)conte...
- 1、Xcode某个工程中添加文件 有两种方式: 方式一:“command”+“n”,弹出添加文件对话框。 方式二:在需要添加文件的工程目录下右键,选择“New File…”。 以上方式Xcode会弹出下面的对话框: 左侧是使用Xcode做的工程类别的分类,我们选择“OS X“,在这个目录下,是所有可以添加的文件的分类, ... 1、Xcode某个工程中添加文件 有两种方式: 方式一:“command”+“n”,弹出添加文件对话框。 方式二:在需要添加文件的工程目录下右键,选择“New File…”。 以上方式Xcode会弹出下面的对话框: 左侧是使用Xcode做的工程类别的分类,我们选择“OS X“,在这个目录下,是所有可以添加的文件的分类, ...
- 1、简单构建类和对象和id使用的测试代码如下 Person.h #ifndef Person_h#define Person_h #import <Foundation/Foundation.h>@interface Person : NSObject{ NSString* _name; int _age;}-(void)setName:(NSString *... 1、简单构建类和对象和id使用的测试代码如下 Person.h #ifndef Person_h#define Person_h #import <Foundation/Foundation.h>@interface Person : NSObject{ NSString* _name; int _age;}-(void)setName:(NSString *...
- 1、构建学生对象并且打印相关信息 代码: #import <UIKit/UIKit.h>#import "AppDelegate.h" @interface Student : NSObject//变量@property NSString *name;@property int age;@property float score; //method... 1、构建学生对象并且打印相关信息 代码: #import <UIKit/UIKit.h>#import "AppDelegate.h" @interface Student : NSObject//变量@property NSString *name;@property int age;@property float score; //method...
- 1、正式协议的定义 @protocol 协议名 <父协议1, 父协议2> { 零个到多个方法定义 } 一个协议可以有多个直接父协议,但协议只能继承协议,不能继承类 协议只有方法签名,没有方法实现 2、实现协议 @in... 1、正式协议的定义 @protocol 协议名 <父协议1, 父协议2> { 零个到多个方法定义 } 一个协议可以有多个直接父协议,但协议只能继承协议,不能继承类 协议只有方法签名,没有方法实现 2、实现协议 @in...
- 1、实现函数的可变形参 1)、va_list:这是一个可变类型,用于定义指向可变参数列表的指针变量 2)、va_start:让argList指向一个可变参数列表的第一个参数 3)、提取argList当前指针指向的参数,并且将指针指向下一个参数 4)、释放argList指针,结束提取 2、测试代码 A... 1、实现函数的可变形参 1)、va_list:这是一个可变类型,用于定义指向可变参数列表的指针变量 2)、va_start:让argList指向一个可变参数列表的第一个参数 3)、提取argList当前指针指向的参数,并且将指针指向下一个参数 4)、释放argList指针,结束提取 2、测试代码 A...
- 1、NSDictionary、NSMutableDictionary 可以理解为java里面的map,一个key对应一个value,key不可以重复 NSDictionary不可变,NSMutableDictionary可变 NSMutableDictionary比NSDictionary多了一些增加,删除,修改的函数 比如setObject:forKey: ... 1、NSDictionary、NSMutableDictionary 可以理解为java里面的map,一个key对应一个value,key不可以重复 NSDictionary不可变,NSMutableDictionary可变 NSMutableDictionary比NSDictionary多了一些增加,删除,修改的函数 比如setObject:forKey: ...
- 1、NSSet、NSMutableSet NSSet元素无序、不能重复 NSMutableSet元素无序、不能重复,有一些向集合中增加元素的功能、删除元素....... 2、测试Demo int main(int argc, char * argv[]) { @autoreleasepool { NSS... 1、NSSet、NSMutableSet NSSet元素无序、不能重复 NSMutableSet元素无序、不能重复,有一些向集合中增加元素的功能、删除元素....... 2、测试Demo int main(int argc, char * argv[]) { @autoreleasepool { NSS...
- 1、NSArray NSArray不可变集合,不能添加新元素和删除已有元素和替换元素 2、demo Dog.h #import <Foundation/Foundation.h>#ifndef Dog_h#define Dog_h @interface Dog : NSObject@property (non... 1、NSArray NSArray不可变集合,不能添加新元素和删除已有元素和替换元素 2、demo Dog.h #import <Foundation/Foundation.h>#ifndef Dog_h#define Dog_h @interface Dog : NSObject@property (non...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
即将直播
热门标签