iOS学习笔记
文章平均质量分 70
初夏浅唱_1
在实践中学习才是真正掌握知识的唯一途径,只有肌肉记忆和大脑记忆协同起来,才能说达到掌握的水准,coding的过程,一定是在犯错中学习和深入思考的过程.纸上得来终觉浅,绝知此事要躬行.
展开
-
iOS开发-学习笔记-Xcode学习
先贴当前Xcode版本12.4目前来说是最新的,针对12.4版本学习了一些特性,做一些记录和整理.首先是新建工程界面,新建工程最新版没有SingleViewApplication选项, 也没有Empty Application模板选项,看到一篇工程文件详解自动生成了很多文件,其中从上往下依次是:AppDelegate.hAppDelegate.mSceneDelegate.hSceneDelegate.mViewController.hViewController.mMain.原创 2021-02-10 17:31:38 · 583 阅读 · 0 评论 -
iOS开发-学习笔记-视图控件
- (void)viewDidLoad { //创建视图 [super viewDidLoad]; CGRect screen = [[UIScreen mainScreen] bounds];//获得屏幕的边界,其返回值是CGRect类型,CGRect是描述视图对象位置和大小的结构体 CGFloat labelWidth = 90; CGFloat labelHeight = 20; CGFloat labelTopView = 150; CGRe原创 2021-02-08 10:40:42 · 249 阅读 · 0 评论 -
iOS开发-iOS基础-UIView-Button
添加button选择Main.storyboard(这是根布局文件)打开对象库,对象库里面有各种按钮,文本框,手势,视图等对象,可以搜索查找,添加一个对象,找到button的控件,直接拖拽到视图中.Button的属性修改1.调节按钮的位置和大小,点击button2.点击小尺子按钮,调出调节面板3.改变button的形状,点击Show,下拉选择4.更改左边距和上边距,直接改数字或者拖动,拖动时会实时更改5.拖动时选择是否展示自动对齐虚线,可以选择上下左右是否展示按钮的属性-铅笔图标原创 2021-01-31 16:51:31 · 491 阅读 · 0 评论 -
iOS开发-学习笔记-字符串操作
将字符串分割成数组将字符串中的特定字符移除后,分割成数组的componentsSeparatedByString方法是通过移除相同的字符去分割的,componentsSeparatedByCharactersInSet是NSArray *text= "hello world";NSArray *words = [text componentsSeparatedByString:@" "];//以空格将text字符串分割成数组数组按特定字符变成字符串componentsJoinedByStrin原创 2021-01-31 15:16:28 · 386 阅读 · 0 评论 -
iOS开发-学习笔记-代码块和并发性
为什么要用代码块为了方便实现并发性, 增强函数的功能, 可以通过代码块绑定变量来创建对象. 把一段代码当一个变量使用.block详解代码块的声明和实现可以像声明一个函数一样来声明一个block ,可以像定义一个函数的方法一样来定义一个block,也可以将block当作一个对象来调用。代码块的声明:返回值类型(^代码块名字)(参数列表)代码块实现:代码块名字=^(参数列表){代码块的行为主体};//声明一个代码块 void(^aBlock)(NSString*x);//实现代码块原创 2021-01-28 15:10:26 · 130 阅读 · 0 评论 -
iOS开发-学习笔记-协议
可参考协议详解协议的作用,为什么要用协议针对面向对象思想中的协议的作用类似java中的接口回调,在android中经常使用监听者设计模式实现对某个事件的监听,再通过接口回调实现监听者触发的动作,oc的代理就可以实现这个功能。委托,代理. 还有另一种作用就是,类A他在做某件事时,但在这件事中他有些地方(如: 事件小a)无法自己完成需要有第三方(类B)来完成事件小a,那么类 B就需要实现事件小a,从而使类 A完成这件事。类A与类B 间就存在一种委托关系,或说是代理。配置,比如类A 是sdk原创 2021-01-27 17:31:22 · 155 阅读 · 0 评论 -
iOS开发-学习笔记-类别,类扩展,委托
类别category类别是一种为现有类添加新方法的方式.习惯上把类别代码放在独立的文件中,以"类名+类别名称"命名.类别的基本语法如下:@interface ClassName(CategoryName)//method declarations@end@interface 类名(类别名)类别方法申明@end注意几点:1.现有类的类名位于 @interface之后2.括号中是类别的名称(只要名称唯一,可以添加任意多的类别)3.类别没有实例变量部分类别的方法可以自由引用类的实例变量原创 2021-01-26 17:55:00 · 149 阅读 · 0 评论 -
iOS开发-学习笔记-属性
属性是怎么达到减少代码数量的作用的使用属性关键字,不需要太多的方法定义语句,因为多个方法里面可能都有相同属性的字段定义,只要使用属性关键字,不同的方法都可以对这个属性进行设置和访问.头文件中这样使用:#import <Foundation/Foundation.h>#import "Tire.h"@interface AllWeatherRadial : Tire{ float rainHanding; float snowHanding;}@property float r原创 2021-01-24 17:45:15 · 330 阅读 · 0 评论 -
iOS开发-学习规划及阶段性目标,学习方法整理
iOS完整学习路线可参考这个图,iOS完整学习路线(参考大神的)目前阶段对OC的语法基础稍有了解,接下来一段时间主要目标是OC语法基础和UI控件的学习使用,UIView 常用的一些UIButton,UILable,UIImageView,UITextFiled, UIScrollVIew,UIAlertiew,等学习的方式: 看书+ 跟着敲源码,读OC代码,学习知识点并总结归纳成笔记,经常复习关键知识点.学习的时候可以经常和Java语法类比学习,其实有很多地方都是相似的,对于比较晦涩的一部分比如内存管原创 2021-01-24 12:12:51 · 756 阅读 · 0 评论 -
iOS开发-学习笔记-对象初始化
创建对象有两种方法:[类名 new][[类名 alloc] init];惯例是使用第二种. 两种效果基本等价,不同的是第二种可以在分配内存时地址连续,更节约资源消耗,还可以调用多个init方法初始化.创建对象后需要进行(内存)分配和初始化两个操作,这两个操作是分离的,分配是从操作系统获得一块内存,初始化是将这块内存用于存储对象.使用的方法是嵌套调用Car *car = [[Car alloc] init];为什么要用嵌套: 因为初始化返回的方法可能与分配的对象不同.惰性求值: 即使目前没有设原创 2021-01-12 22:34:44 · 111 阅读 · 0 评论 -
iOS开发-捕获异常,抛出异常
发生异常时,可以创建一个异常对象,Cocoa中使用NSException类表示异常, 处理异常的方式: 抛出并捕获异常的原因.要支持异常特性,需要打开-fobj-exception被打开,启用Objective-C Exception.异常的关键字都是以@ 开头的.@try : 定义用来测试的代码块,决定是否要抛出异常@ catch: 定义用来处理已抛出异常的代码块,@finally : 定义无论是否有抛出异常都会执行@throw: 抛出异常.为了确保Cocoa能够正常处理异常,应该只用NS.原创 2021-01-12 12:33:56 · 519 阅读 · 0 评论 -
IOS开发-学习笔记-内存管理
Objective-C的学习资料不像安卓那么多, 不是很好找,目前找到了一些基础的学习资料备用.Objective-C教程OC随笔基础知识掘金-Objective原创 2021-01-11 17:18:39 · 113 阅读 · 0 评论 -
iOS开发-学习笔记-Foundation Kit,数据类型,常用的集合-数组,枚举,字典,字符串操作
Cocoa是由许多不同的框架组成的,最常用于桌面端应用程序的是Foundation 和Application Kit,她包含了所有的用户界面UI对象和高级类.iOS平台上的应用程序还需要用到User Interface Kit (UI Kit).Foundation是App KI和UI Kit的基础,拥有100多个类,所有的类都可以在安装文档中找到,Xcode顶部菜单栏的Help-Developer Documentation可以查看这些文档.常用的数据类型范围-结构体NSRange typ.原创 2021-01-04 21:54:40 · 162 阅读 · 0 评论 -
iOS开发-学习笔记-复合,拆分接口.Xcode常用技巧
复合的实现: 通过包含作为实例变量的对象指针实现.复合和继承的区别:如果可以说" X有一个Y: 就可以用复合;如果可以说"X是一个Y" 就可以用继承.NSLog的%@,可以输出对象.处理时会询问参数列表中相应的对象以得到这个对象的描述.存取方法要对其他对象的属性进行操作时,绝对不能直接改变对象里面的值,应该尽量使用对象提供的存取方法,即setter和getter方法,setter方法:需要有set前缀,可以设置属性,getter方法,不可有get前缀,因为get在COcoa里面意味着这个方.原创 2021-01-03 15:08:22 · 250 阅读 · 0 评论 -
iOS开发-学习笔记-类的继承和继承的工作机制
不要直接更改由继承得到的实例变量,一定要通过方法或property属性来更改.OC不支持多继承,只能继承一个类;想达到多继承可使用 category, protocol等来实现;继承的语法: @interface Circle : NSObject, 冒号后是需要继承的类;类中没有声明实例变量时可以省略花括号,类需要先声明@interface,然后实现@implementation超类 : 是继承的类,@interface Shape : NSObject@interface Circle .原创 2020-12-31 22:44:48 · 189 阅读 · 0 评论 -
iOS开发-学习笔记-类的实例化和调用
@符号:OC中@符号就代表是C语言的扩展;@interface Circle : NSObject{ ShapeColor fillcolor; ShapeRect bounds;}-(void) setFillColor: (ShapeColor) fillColor;- (void) setBounds: (ShapeRect) bounds;- (void) draw;@end// CircleCircle 类的声明,以@开头,表示是OC语言,NSObject.原创 2020-12-31 19:42:55 · 156 阅读 · 0 评论 -
iOS开发学习笔记-枚举和结构体
枚举类型,详细可查看这篇文章记录重点:枚举是一种数据类型;枚举可以定义整型,字符型常量,也可以定义变量;用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明:typedef enum{ //枚举定义形状 kCircle, kRectangle, kEgg} ShapeType;enum BOOLEAN { FALSE = 0, TRUE } match_flag;同一个程序中不能定义同名的枚举类型,不同的枚举类型中也不能存在同名的命名原创 2020-12-30 22:08:01 · 116 阅读 · 0 评论 -
object-c 学习笔记(一)基础术语
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { const char *word[4] = {"asdf","weweff","srgerger","rtgrgeg"}; int count = 4; NSLog(@"The numbers from 1 to 5:"); for(int i =0; i<count; i++){原创 2020-12-29 21:30:12 · 133 阅读 · 0 评论