导图社区 MacTK类电机设计审核
关于TK类电机设计审核思维导图,MacTK类电机的设计审核是一个全面评估电机性能、可靠性、成本等各方面要求的过程。
编辑于2023-11-09 14:54:57Mac
0420
Objective-C
完全兼容C 语言
day01
OC基本语法
#import指令
引入库函数的指令
是 #include增强版
利用预编译指令防止头文件的重复包含
#ifndef #define
#endif
利用#import ,即使不用预编译指令,也可以防止头文件的重复包含
同其他预编译指令一样,如#define 宏定义将字符串替换,这个import是将代码拷贝到该文件中
同一个文件,无论用import 包含多少次,都会只当做一次
#include指令单独使用,可能会造成重复包含,要适用预编译命令防止
引入库函数的操作
#import <stdio.h>
尖引号 引用系统文件
文件搜索顺序
编译器文件夹-》系统文件夹-》查找失败
#import "aaa.h"
双引号 引用用户文件
文件搜索顺序
当前文件夹 -》编译器文件夹-》系统文件夹-》查找失败
框架的概念
将事先准备的功能模块封装在一个个类中,这些类的集合叫框架
Objective C中的头文件位置 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers
类似C语言中的函数库
Foundation框架
提供了OC最基础的功能
autoreleasepool框架
自动释放池
OC完成学习路线
OC概述
OC中的面向对象特性
OC中的面向对象
内存管理
OC中类目,协议,延展,委托模型
Blocks
Foundation框架介绍
文件操作
复制
对象归档
KVC/KVO
NSLog函数的使用
NSLog是printf的增强版
简单的字符串
NSString *str =@"你好你好";
// str 是变量名,变量名中保存的是字符串地址
NSLog(@"str ===== %p",str);
打印出来的是地址
NSLog(@"str ===== %@\n",str);
打印出来的实际的字符串
除了上面用变量进行打印外,还能直接这样打印常量
NSLog(@"我要打印的是 %@",@"你好你好")
NS前缀
没有命名空间的概念,OC中类名必须全局唯一
不同框架中有类似的功能,可能导致类名重复,objectiveC规定类名要有前缀
OC中注释及@符号的使用
@的使用方法
@“This is OC”
将C语言字符串转化为OC字符串
标识符
OC中大部分标识符都以@开头
OC中注释
同C语言
访问OC源文件,C源文件的函数
OC / C / swift中可以相互调用
1. 创建C文件
2.C文件中定义个函数
3. C头文件中声明
extern void testCShow();
4. OC代码中引用 import 上述的头文件
5. OC代码中可以开始使用
OC和C的差异化学习
数据类型对比
C语言
基本类型
整型
字符
实型
构造
数组
结构体
子主题 3
枚举
指针
空类型void
定义类型typedef
OC中数据类型
包含上述C语言类型
新增了
布尔型BOOL
BLOCK类型
代码块数据类型
指针数据类型
类class
id类型
动态对象类型
特殊类型
SEL / nil
变量定义
C语言中变量定义,可以直接在OC中使用
流程控制语句完全一样
for
while
do while
if
switch
OC中新增异常捕捉
@try...@catch...@finally
@try { //可能出错代码 NSLog(@"try"); } @catch (NSException *exception) { //一旦出错,将被执行的补救代码 NSLog(@"catch"); } @finally { //无论出错与否都被执行 NSLog(@"finally"); }
面向对象
四个主要特征
抽象性
封装性
多态性
继承性
UI基础
day01
apple简介
IOS框架
UIKit
用户界面
QuartzCore
动画特效
CoreGraphics
2D绘制
MapKit
内置地图
不要重复造轮子
AVFoundation
音频视频
面向对象
模拟器
熟悉模拟器中常见的操作
创建IOS项目
Main.storyBoard
LaunchScreen.storyBoard
启动的画面
用于搭建用户界面
有个AutoLayout概念
用于程序在各个版本中保持正常显示
如何调整storyBoard的大小
按上面的view 圆按钮
点击AttributeInspector选择size
例如在iphone6中为4.7inch
计算器界面
利用 AI的keyboardType,调整Text中的弹出键盘
只弹出数字键盘
ViewController与View的关系
代码写在viewController中
作用是管理视图
ViewController中有个view
可以从storyBoard中看出
也可以从ViewController的头文件代码中看出
View与ViewController两个类本身是没有关系的
View用来管理一起能看到的组件
分别继承于UIView 和 UIViewController
UIViewController中有个类型为UIView的对象
另外,应用程序入口在 supportFile中的main.m
将按钮与方法连接
事先定义方法
- (IBAction)doSomething { NSLog(@"have fun");}
连接方法
方法1
按下键盘的control键,将button拖向ViewController,会弹出方法,选择连接
方法2
点击button后右键,将touchupinside选择
指向头文件h文件的dosomething函数
解决键盘的问题
有时候在模拟器上键盘显示不出来
点击菜单上的Hardware选择
方法连接时的问题
1,如果在代码中删除了一个方法,一定要将对应的连接也删除
在删除方法代码时,确认是否有对应的连接在使用
否则出现运行时错误
2,如果一个方法只需要点击按钮触发,不需要其他地方调用
只需要在.m文件中实现
不需要.h文件中声明
控件连线
目标 将Text中的文字,连接到代码的变量中
对于只需要在ViewController中使用的控件(属性),我们一般声明在类扩展中
UI控件都使用weak,因为UI控件需要连线,也需要添加标示IBOutlet
然后再用拖动拉线的方式,实现连接
另外,不用实现定义属性,而是直接将控件 按着control连线拖到类扩展中,会弹出信息框选择后,会自动生成一个属性
回收键盘值
NSLog(@"%@",self.filed1.text);
将文本框中的文字在控制台中显示出来
将Text中的值取出,并转化为int
int number1 = [self.filed1.text intValue];
将计算结果int值,转为String显示在Lable
self.sumlable.text = [NSString stringWithFormat:@"%d",sum];
打印地址用 %p
extern的意思
0421
斯坦福IOS视频
概览
前提
学习过面向对象
IOS是个完全面向对象的系统
IOS 结构
Unix Base
CocoaTouch
MultiTouch
WebView
Cameraなど跟用户互动的部分
Media
Audio
PDF/JPEG
Videoなど
CoreServices
Collection
CoreLocation
FIleAccess
SQLite
NetServicesなど
CoreOS
OSX Kernel
FileSysytem
Socketsなど
Swift与OC
本质上两语言非常类似
MVC设计模式