ns使用教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ns使用教程相关的知识,希望对你有一定的参考价值。

参考技术A   1、首次开机时,主界面会引导玩家从英、法、德、西、义、荷、葡、俄、日九国语言中选择其中一种(目前官方尚未公布系统适配中文的任何信息)。

  2、第二步则是从美洲、欧洲、澳洲/纽西兰、日本当中选择玩家所处的区域。选择可以通过触控屏或者是控制器的摇杆进行操作。

  3、在看完使用协定后,可以选择WiFi信号进行网络连接。设定主机的时区。然后会进入引导模式,教玩家如何在不同模式下进行游玩,之后会问玩家是否选择马上将NS主机插到底座上在电视上使用。

  4、如果玩家的Joy-Con控制器已经插在主机上,那么系统会提示玩家要先拆开,玩家只要按着Joy-Con背面顶部的黑色按钮向上抽出即可。接下来,会提示玩家用左边的Joy-Con控制器移动光标到下一步。再用右边的Joy-Con控制器选择“A”后再按A键选择“OK”。至此,首次开机的设定就告一段落了。如果玩家希望继续使用便携模式进行设定,可以将Joy-Con控制器再次装回到主机上。

  5、玩家还需要设定自己的ID和头像,选择“Next”进入到下一步,除了马里奥和林克等经典角色外,还可以选择Mii头像。按“More options”可选背景颜色。

  6、如果用户要在NS主机上设置,则需要选择“Set on Console”后再选择“Restriction Level”,在选择小朋友年龄后,系统会根据年龄段来禁止运行不符合小朋友年龄段的内容。通过“Customs”,还可以进行更细致的设定。完成后选择下一步,需要设定4到8位数字的密码。所有设定完成后!按右边Joy-Con控制器的Home键就可以回到主界面了。

NS_ENUM 和 NS_OPTIONS的区别

在苹果的一篇官方文档《Adopting Modern Objective-C》“适应现代的Objectice-c”中提及到使用NS_ENUM和NS_OPTIONS来声明枚举

NS_ENUM用来声明基于一般整形的枚举,而NS_OPTIONS一般用来声明基于位掩码的声明(bitmask)

在一般的教程书中也经常提及,但是其中的区别是什么呢?

在NSObjCRuntime.h中有如下的宏定义

 

[cpp] view plain copy
  1. #define NS_ENUM(_type, _name) CF_ENUM(_type, _name)  
[cpp] view plain copy
  1. #define NS_OPTIONS(_type, _name) CF_OPTIONS(_type, _name)  

就是说,NS_ENUM 、CF_ENUM是一样的,NS_OPTIONS、CF_OPTIONS是一样的

 

那再具体分析下CF_ENUM,CF_OPTIONS宏到底是什么东西

在CF_ENUM,CF_OPTIONS宏定义头文件CFAvailability.h中有如下的宏定义

 

 

[cpp] view plain copy
  1. #if (__cplusplus && __cplusplus >= 201103L && (__has_extension(cxx_strong_enums) || __has_feature(objc_fixed_enum))) || (!__cplusplus && __has_feature(objc_fixed_enum))  
  2.     #define CF_ENUM(_type, _name) enum _name : _type _name; enum _name : _type  
  3.     #if (__cplusplus)  
  4.         #define CF_OPTIONS(_type, _name) _type _name; enum : _type  
  5.         #else  
  6.         #define CF_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type  
  7.     #endif  
  8. #else  
  9.     #define CF_ENUM(_type, _name) _type _name; enum  
  10.     #define CF_OPTIONS(_type, _name) _type _name; enum  
  11. #endif  


 

诈一看,其实两者基本思想是没有区别的,并没有说NS_ENUM枚举的元素非得是整型,NS_OPTIONS枚举的元素非得是与位有关的,据其根本

枚举的目的是为整型数据添加一个名字罢了。NS_ENUM,NS_OPTIONS只是为了代码的统一性,约束一下编码规则罢了。


但是,仔细看的又会发现有不同,为什么有时候将宏定义为#define CF_OPTIONS(_type, _name) _type _name; enum : _type或者#define CF_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type

 

StackOverflow 里面这个问题说到,但是前面几个回答似乎有点简单,没有说到重点,最后那个回到似乎很有道理

具体是说因为c++11支持了枚举的向前声明(forward declare),因而出现的bug,为兼容使用到了类如“CF_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type”

 

以上是关于ns使用教程的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu中NS2安装详细教程

INA226使用教程(IIC)

INA226使用教程(IIC)

INA3221的使用教程(IIC)

INA3221的使用教程(IIC)

NS3-00-学习资料