iOS--OC语法与基础
文章平均质量分 55
specter_hhg
现在应该做的就是比昨天进步一点
展开
-
【CGAffineTransform】的理解
CGAffineTransform 提供了一种方便的方式来对视图进行变换,使得开发者可以轻松地创建出复杂的视觉效果。原创 2023-03-01 11:23:34 · 555 阅读 · 0 评论 -
iOS--错误集锦--Property follows Cocoa naming convention for returning ‘owned‘ objects
Property follows Cocoa naming convention for returning ‘owned’ objects。@property (strong, nonatomic) UILabel *newNameLabel;You can slove this by:@property (strong, nonatomic) UILabel *theNewNameLabel;or@property (strong, nonatomic, getter = theNewNam原创 2020-10-19 09:35:35 · 274 阅读 · 0 评论 -
iOS笔记—NSNumber
数组如果要存储基本数据类型, 要将基本数据类型转成对象。那么就可以采用NSNumber将其转化成对象保存。//// main.m////// Created by hhg on 15-6-18.// Copyright (c) 2015年 hhg. All rights reserved.//#import <Foundation/Foundation.h>...原创 2018-05-29 12:35:53 · 462 阅读 · 0 评论 -
iOS笔记—成员变量的权限
//// Person.h////// Created by hhg on 15-6-8.// Copyright (c) 2015年 hhg. All rights reserved.//#import <Foundation/Foundation.h>@interface Person : NSObject { // 公共 外面可直接访问, 本类方...原创 2018-05-29 12:21:35 · 330 阅读 · 0 评论 -
iOS笔记—@autoreleasepool
我们知道,release的作用是使对象引用计数-1。autorelease是系统自动在恰当的时候向对象发送一条release消息。而autoreleasepool是在autorelease的基础上将autorelease对象放入一个pool中,系统会在一个恰当的时候销毁pool,并向pool中的对象发送一条release。 值得注意的是,autoreleasepool销毁的时候并不会保...原创 2018-05-29 12:10:16 · 423 阅读 · 0 评论 -
iOS笔记—protocol
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨OC语法回顾1.关键字,基本上都是以@开头,OC字符串也是以@开头2.NSLog语句输出内容会自动换行3.Import导入头文件内容可防止被重复导入(使用#include会遇到这种情况)4.BOOL类型本质上是char类型 可进入Fundation框架头文件查看类和对象的关系类 :图纸原创 2018-05-29 01:24:32 · 437 阅读 · 0 评论 -
iOS笔记—property
property自动为属性生成setter和getter方法。以及能够直接设置是否生成getter和setter方法。也能够自定义setter和getter的方法名。//// Person.h// property//// Created by hhg on 15-6-8.// Copyright (c) 2015年 hhg. All rights reserved.//...原创 2018-05-29 00:31:23 · 311 阅读 · 0 评论 -
iOS笔记—extension
extension像没有命名的category。因此被称为:匿名类别//// Person.h// 匿名类别//// Created by hhg on 15-6-15.// Copyright (c) 2015年 hhg. All rights reserved.//#import &lt;Foundation/Foundation.h&gt;@interfa...原创 2018-05-29 00:09:46 · 139 阅读 · 0 评论 -
iOS笔记—category类目(类别)
category,也叫分类、类目、类别优点:1. 将类的实现分散到多个文件或多个不同框架中,方便代码管理。(也可以对框架提供类的扩展)2. 不需要通过增加子类而新增现有类的方法,而且category中的方法与原始类无区别缺点:无法向category添加实例变量。覆盖原类后,原类的方法无法调用。注意:在category中的property是不会自动生成实例变量的。这里添加的属性,其实是添加sette...原创 2018-05-24 02:07:44 · 243 阅读 · 0 评论 -
iOS笔记—NSData
NSData与NSString互转//// main.m// NSData//// Created by hhg on 15-6-11.// Copyright (c) 2015年 hhg. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const ...原创 2018-05-28 01:11:22 · 1314 阅读 · 0 评论 -
iOS笔记—程序的生命周期
// 唯一入口- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions// 活动状态- (void)applicationDidBecomeActive:(UIApplication *)application// 非活动状态...原创 2018-06-02 01:20:26 · 179 阅读 · 0 评论 -
iOS笔记—iOS简介
什么是iOS?iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iP...转载 2018-06-02 01:34:15 · 429 阅读 · 0 评论 -
iOS--OC字符串与C字符串区别
OC字符串的写法是@“this is a Objective-C string .”在字符串前面带有@符号。 关于为什么要带这个符号,以及有什么内在含义。可能了解的人并不是很多。Objective-C 是基于C语言基础上的一种面向对象语言。对于字符串的处理也不同于C,为了区别这种新型的字符串,Objective-C语言使用了“@”符号作为区分。相比于C语言,Objective-C 使用了Un...原创 2019-05-06 14:09:04 · 369 阅读 · 0 评论 -
UITaleview - 关于执行顺序引发的探讨
UITableview优化这块,如果有心力的话是可以有很多东西去做处理的。本文目前仅就作为笔记,探讨一个方面。写这篇的文章来源于看到一篇博客,它里面先写了Tableview的两个主要协议,再通过两个协议执行方法去分析优化的方面。上链接详细整理:UITableView优化技巧它就Tableview的两个主要协议谈到了几点:知道UITableViewCell的重用原理后,我们来看看UITabl...原创 2019-03-09 16:19:36 · 457 阅读 · 0 评论 -
iOS--数据加载--懒加载
@property (nonatomic, strong)NSArray *array;- (NSArray *)array { if (!_array) { _array = @[@"1",@"2"]; } return _array;}原创 2018-08-20 15:02:32 · 304 阅读 · 0 评论 -
iOS笔记—KVO
KVO 是监听键值。只要对象被监听的属性发生变化,那么就会执行监听方法(回调方法)原创 2018-06-02 13:08:43 · 186 阅读 · 0 评论 -
iOS笔记—NSString
test time原创 2018-06-02 09:32:57 · 160 阅读 · 0 评论 -
iOS笔记—NSUserDefault
持久化存储中,轻量级用户数据缓存可以使用NSUserDefaultNSUserDefaults *user=[NSUserDefaults standardUserDefaults];[user setObject:@"hhg" forKey:@"name"];NSString *str=[user objectForKey:@"name"];NSLog(@"%@",str);...原创 2018-06-02 02:54:53 · 357 阅读 · 0 评论 -
iOS笔记—坐标系
屏幕尺寸 分辨率 基准分辨率 设备 普通屏 (3.5寸) 320*480 320*480 iPhone,iPhoen3G,iPhone3GS retina (3.5寸) 640*960 320*480 iPhone4, iPhone4s retina(4寸) 640*1136 320*568 iPhone5,iPh...转载 2018-06-02 01:58:25 · 427 阅读 · 0 评论 -
iOS笔记—SDK和API的区别
SDK就是Kit,工具箱,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iPhone的模拟器来运行,这就是SDK,提供整套的开发工具供开发者使用。OpenAPI就是网站提供的接口,比如你想开发一个围脖的手机客户端,你从哪里读取数据写入数据呢?总不能从Web版里调用吧?那里是...转载 2018-06-02 01:40:15 · 1579 阅读 · 0 评论 -
iOS笔记—SEL
对于SEL的简单使用//// main.m// selector//// Created by hhg on 15-6-17.// Copyright (c) 2015年 hhg. All rights reserved.//#import &lt;Foundation/Foundation.h&gt;#import "Person.h"int main(in...原创 2018-05-27 23:18:39 · 215 阅读 · 0 评论 -
iOS笔记—Notification
Notification,一对多的情况下可以使用//// ViewController.m// 通知//// Created by hhg on 15/9/28.// Copyright (c) 2015年 hhg. All rights reserved.//#import "ViewController.h"@interface ViewControlle...原创 2018-06-03 22:06:10 · 375 阅读 · 0 评论 -
iOS笔记—Dynamic
Objective-C是动态定型(dynamicaly typed),在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。我们可以用下面这个方法判断它是否是这个类或者这个类的子类的实例- ( BOOL ) isKindOfClass:看下例子. MyViewController是继承UIViewcontroller self 也是。- (v原创 2016-06-27 23:42:28 · 554 阅读 · 0 评论 -
iOS笔记--NSArray
NSArray是OC语言的数组。区别于C语言数组的特点在于OC数组是一个对象,数组里面存储的也是一个个对象。不能直接存储基本数据类型(如int、long、short等等)。假如项目需求需要的话,可以先想基本数据类型转化成对象再进行存储。我们来看看NSArray的几种创建方法 1通过对象的方法创建// 1通过对象来创建数组NSArray *arr1 = [[NSArray alloc]i原创 2016-05-04 23:26:23 · 537 阅读 · 0 评论 -
iOS笔记—内存管理以及内存的分区
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨OC里面的内存管理有三种方法,分别是:MRC、ARC、GCMRC(MannulReference Counting):程序员自己负责管理对象生命周期,负责对象的创建和销毁。ARC(Automatic Reference Counting):iOS5.0以后出现的一种内存管理机制,在编写代码的时候,编译器会在适当的位置自动对原创 2015-11-23 11:08:44 · 1067 阅读 · 0 评论 -
iOS笔记--#include和#import的区别、#import和@class的区别
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨#include和#import的区别:#include和#import的作用都是导入头文件,只是#import是oc语言的头文件导入,它能避免重复导入,确保头文件只会被导入一次,而#include如果稍不警惕就会重复导入,出现相互包含的编译错误,因此开发的时候,推荐开发时使用#import。#import和@cl原创 2015-11-20 15:49:24 · 798 阅读 · 0 评论 -
iOS笔记--oc语法8 (@synthesize和@dynamic的区别)
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨先说明一下,@synthesize和@dynamic这两种方法应该都过时了,目前用法只单用@property就可以了,但是作为一名程序猿,要了解一下以前的知识,方便维护老代码,以及面试的时候会问到(其实面试问这个也是为了确保面试人员懂这个知识,方便维护老代码),这就是写这篇博客的初衷。旧式的写法是,在@property声明属性原创 2015-12-05 10:48:41 · 2520 阅读 · 0 评论 -
ios笔记--oc语法1
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨OC语法回顾1.关键字,基本上都是以@开头,OC字符串也是以@开头2.NSLog语句输出内容会自动换行3.Import导入头文件内容可防止被重复导入(使用#include会遇到这种情况)4.BOOL类型本质上是char类型 可进入Fundation框架头文件查看类和对象的关系类 :图纸原创 2015-10-09 00:38:38 · 489 阅读 · 0 评论 -
iOS笔记--oc语法7 (深、浅复制的基本概念)
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨说深、浅复制之前,我们先谈谈复制;复制,就是开辟一块新的内存(堆)来存储复制出来的对象。能复制的对象需要实现两个协议之一,一个是协议,一个是协议。copy出来的对象是一个不可变对象,mutableCopy出来的对象是一个可变对象浅复制:只复制对象的本身,对象里的属性、包含的对象不做复制(指针复制)。对象之间原创 2015-11-28 20:55:24 · 368 阅读 · 0 评论 -
iOS笔记--oc语法5 (static全局变量与全局变量)
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨static + 全局变量 = static全局变量 然而区别static全局变量和全局变量的并不是存储方式,因为他们都是静态存储方式。那他们有什么区别呢?新手们都觉得用了static和没用static没什么区别,也不报错啊。我们先来看一种情况, 源文件 = 源文件 +源文件 +...+源文件 ; (即当一个源程原创 2015-11-26 18:20:13 · 649 阅读 · 0 评论 -
iOS笔记--oc语法6 (OC中有私有变量和私有方法的相关讨论)
或者这个问题对于老手来说,来来回回啃了好多次,再拿出来谈,貌似就是鸡肋了(食之无味弃之可惜)。可是对于新手来说,还是有点纠结这个问题到底要怎么去,你说它有吧,它明明就各种被调用,说它没有吧,又有@private 什么鬼的修饰,明明就限定为私有的啊 。。。 那好,我们来分清楚思路慢慢谈谈:原创 2015-11-26 19:37:53 · 1719 阅读 · 0 评论 -
iOS笔记--main函数
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨main函数做的事情。1,创建应用程序对象(UIapplication)2,创建应用程序对象代理appDelegate,将appDelegate对象设置为UIapplication对象的代理3,启动事件循环原创 2015-10-24 18:03:24 · 364 阅读 · 0 评论 -
iOS笔记—iOS对象之间通信方式有哪些?
delegate(代理)、block(代码块)、NSnotification(通知)、kvc(键-值编码)、kvo(键值观察模式)原创 2016-11-01 15:48:12 · 2958 阅读 · 0 评论 -
iOS笔记—归档解档
ios数据持久化的一种方式。归档解档//// main.m// NSKeyedArchiver//// Created by hhg on 15/9/10.// Copyright (c) 2015年 hhg. All rights reserved.//#import <Foundation/Foundation.h>int main(int ar...原创 2018-06-03 00:05:46 · 1009 阅读 · 0 评论 -
iOS笔记—block
//// main.m// block//// Created by hhg on 15-6-17.// Copyright (c) 2015年 hhg. All rights reserved.//#import &amp;amp;amp;lt;Foundation/Foundation.h&amp;amp;amp;gt;int main(int argc, const char * argv[]) { ...原创 2018-05-26 14:07:57 · 154 阅读 · 0 评论 -
iOS笔记—id
//// main.m// id//// Created by hhg on 15-6-2.// Copyright (c) 2015年 hhg. All rights reserved.//#import <Foundation/Foundation.h>#import "Person.h"#import "Dog.h"#import "Cat.h"...原创 2018-05-26 12:15:03 · 212 阅读 · 0 评论 -
iOS笔记—文件的写入、读取与操作
有时候,项目中需要将数据持久化存储。我们的做法之一就是将其写入文件。当需要的时候可以从文件中读取出来即可。//// main.m// 写入文件//// Created by hhg on 15/5/28.// Copyright (c) 2015年 hhg. All rights reserved.//#import &amp;amp;lt;Foundation/Foundatio...原创 2018-05-26 03:12:07 · 12376 阅读 · 0 评论 -
iOS笔记—stringByAppendingString与stringByAppendingPathComponent
两个都是string拼接方法。 其中,一个是string的字符串拼接方法。另一个是string的路径拼接方法。 字符串的拼接方法就是直接,如:拼“Astring”,“Bstring”,拼接后就是“AstringBstring”。NSString *myPath = [@"Astring" stringByAppendingString:@"Bstring"];路径拼接是带斜杠路劲分隔符的字符串。如...原创 2018-05-21 15:31:55 · 2974 阅读 · 0 评论 -
iOS笔记—沙盒(sandbox)
当ios app应用被创建时,就会生成一个专有的沙盒,每个沙盒中包含有三个文件,分别是:Document、Library和temp。顾名思义,这三个文件夹的作用分别存放文件类的文件、存放库类的系统状态文件和临时存放的文件。Document:一般存放需要持久的数据,iTunes备份和恢复会把该数据还原。(可在此目录中添加子文件夹方便数据分类)Library:设置程序的默认设置和其他状态信息Temp:...原创 2018-05-21 12:49:58 · 197 阅读 · 0 评论 -
iOS笔记—对象的结构体属性单个修改方式
Objective-C语法规定,对象的结构体属性不能单个修改。如果是单独定义的结构体属性则可以单个修改。如象的结构体属性: self.view.frame.size.width = 10;// 编译器报错"expression is not assignable" 如单独定义的结构体属性: CGSize mySize;mySize.width = 9; // 不...原创 2017-04-06 13:56:13 · 2293 阅读 · 0 评论