IOS研究之IOS开发笔记基础知识学习

本文是我的IOS学习笔记,都是基础的知识点,在这里记录下方面以后查询。

1,UIScrollView视图类能完成滚动的功能

示例如下:

UIScrollView *tableScrollView;

tableScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];//窗口大小

tableScrollView.contentSize=CGSizeMake(640, 480);//设置内容视图的大小

tableScrollView.showsVerticalScrollIndicator=NO;

tableScrollView.showsHorizontalScrollIndicator=NO;

tableScrollView.delegate=self;

tableScrollView.bounces=NO;

tableScrollView.pagingEnabled=YES;

[self.view insertSubview:tableScrollView belowSubview:navigationBarView];

//在本类的navigationBarView视图下面插入tableScrollView视图

(void)scrollViewDidScroll:(UIScrollView *)scrollView;//正在发生滚动操作

(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;//滑动结束操作

2,NSThread多线程处理
参考技术博客 很好很强大大家可以看看。

[NSThread detachNewThreadSelector:@selector(函数名) toTarget:self withObject:参数(需要是一个对象)];

示例:

[NSThread detachNewThreadSelector:@selector(getPopularityData:) toTarget:self withObject:[NSNumber numberWithInt:1]];

3,新建一个类,完全服从父类

MessageView.h

#import <UIKit/UIKit.h>

#import “RefreshTableView.h”

@interface MessageView : RefreshTableView

@end

MessageView.m

#import “MessageView.h”

@implementation MessageView

@end

那么该类的头文件和实现文件都很简单。

4,父类视图初始化问题

在视图类地- (void)viewDidLoad函数中,最开始应该执行下面地语句:

[super viewDidLoad];

该语句执行其父类地viewDidLoad方法,会帮助我们做一些初始化地工作。不然,可能会使我们调用某些方法时发生错误。

5,消息通知NSNotificationCenter

用途:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的。

注册通知:

[[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(mytest:) name:@” mytest” object:nil];

参数说明:

addObserver: 观察者,即在什么地方接收通知;

selector: 收到通知后调用何种方法;

name: 通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。

发送通知:调用观察者处的方法。

[[NSNotificationCenter defaultCenter] postNotificationName:@”mytest” object:searchFriendArray];

参数说明:

postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。

object:传递的参数

[2013.5.15]增加:带参数的NSNotificationCenter使用方法:

一般在使用NSNotificationCenter的时候不使用参数,但是有些时候需要使用参数。

传递参数,此处示例传递一个数组tekubaArray:

[[NSNotificationCenter defaultCenter] postNotificationName:@”tekubaData” object:tekubaArray];

接收参数并获取传递的参数

[[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(tekubaTest
name:@”tekubaData”
object:nil];

postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。

object:传递的参数

- (void) tekubaTest:(NSNotification*) notification

{

NSMutableArray* dataArray = [notification object];//通过这个获取到传递的对象

}

6,属性列表NSUserDefaults

当存放的数据量很少的时候,可以使用多行的键-值来保存和读取数据。

示例:

获取cUserId的信息

NSString *userNameId=[[NSUserDefaults standardUserDefaults] valueForKey:@”cUserId”];

保存一个kNumberLocationKey键为NumberLocation,值为123456的数据。

NSString *kNumberLocationKey = @”NumberLocation”;

NSString *saveNumber = @”123456″;

[[NSUserDefaults standardUserDefaults] setObject:saveNumber forKey:kNumberLocationKey];

7,ios编程中多个参数问题

-(void)createStreamer:(UIView *)view urlString:(NSString *)urlString

{

}

参数分别是view,和urlString

8,NSTimer定时器的使用

NSTimer其实是将一个监听加入的系统的RunLoop中去,当系统runloop到如何timer条件的循环时,会调用timer一次,当timer执行完,也就是回调函数执行之后,timer会再一次的将自己加入到runloop中去继续监听。

示例:

[NSTimer

scheduledTimerWithTimeInterval:1

target:self

selector:@selector(updateProgress:)

userInfo:view

repeats:YES];

参数说明:

scheduledTimerWithTimeInterval:(NSTimeInterval)seconds

预订一个Timer,设置一个时候间隔。

默示输入一个时候间隔对象,以秒为单位,一个>0的浮点类型的值,若是该值<0,体系会默认为0.1

target:(id)aTarget

默示发送的对象,如self

or:(SEL)aSelector

办法选择器,在时候间隔内,选择调用一个实例办法

userInfo:(id)userInfo

此参数可认为nil,当按时器失效时,由你指定的对象保存和开释该按时器。

repeats:(BOOL)yesOrNo

当YES时,按时器会络续轮回直至失效或被开释,当NO时,按时器会轮回发送一次就失效。

invocation:(NSInvocation *)invocation

9,xcode输出窗口打印NSData数据

NSData *tempData;//假设tempData已经填充数据

NSLog(@”\n%@\n”,[[NSString alloc] initWithData:tempData encoding:NSUTF8StringEncoding]);//打印数据获取数据,经过测试可以正确打印出tempData中的字符串。

当然,也可以使用NSLog(@”\n%@\n”, tempData);//直接打印,测试打印的结果时16进纸的形式

时间: 2024-08-28 07:21:55

IOS研究之IOS开发笔记基础知识学习的相关文章

iOS开发多线程基础知识 NSOperation

-------NSOperation简介---- 1.NSOperation的作用 ·配合使用NSOperation和NSOperationQueue也能实现多线程编程 2.NSOperation和NSOperationQueue实现多线程的具体步骤 ·先将需要执行的操作封装到一个NSOperation对象中 ·然后将NSOperation对象添加到NSOperationQueue中 ·系统会自动将NSOperation中封装的操作放到一条新线程中执行 ---------NSOperation的

iOS开发多线程基础知识

--------------------------多线程概念基础------- 进程:正在运行的程序 内存:每个进程所占的存储空间 线程:1个进程要像执行任务,必须得有线程,线程是进程的基本执行单元, 线程的串行: ·1个线程中人物的执行是串行的 ·0同一个时间内,1个线程只能执行1个任务 0·线程是进程的一条执行路径 --------多线程 ·一个进程中可以开启多条线程,每条线程可以并行(同时)同时执行不同的任务 ·进程->车间 线程->车间工人 线程的并行: ·进程内多个线程同时执行,可

C++基础知识学习笔记

基本语法 C面向过程思想:程序=(数据结构)+(算法) 数据结构与算法分离,以算法(函数)为主. C++面向对象思想:程序=(数据结构+算法) 数据结构(属性)与算法(操作)绑成一个类,定义一个个对象对象=(数据结构+算法)  ,程序=(对象+对象+对象+--) 面向对象程序设计的程序员有两类:1.面向对象应用程序设计2.类库的设计 头文件:类的声明            ---类的外部接口       (成员函数在类声明中实现时,一般很简短,默认为内联函数)源文件:类的成员函数定义     -

hadoop学习笔记——基础知识及安装

1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操作.NameNode执行文件系统的命名空间操作,比如打开关闭重命名文件或者目录等,它也负责数据块到具体DataNode的映射 2)集群中的DataNode管理存储的数据.负责处理文件系统客户端的文件读写请求,并在NameNode的统一调度下进行数据块的创建删除和复制工作. 3)NameNode是所有

ARM基础知识学习笔记

/*****************数电知识*******************/ PN结(Positive-Negative) 三极管:BJT(双极结型三极管Bipolar Junction Transistor)               FET(场效应管Field Effect Transistor)          (单极结型) 1.MOSFET (金属氧化物半导体Metal Oxide Semiconductor FET)               2.JFET(结型Junct

Android Camera开发之基础知识篇

概述 Android框架支持设备的相机拍照和录像功能,你的应用可以直接调用系统的Camera应用来拍照或者录像(比如微信拍照),当然也可以利用Android系统提供的API开发一个Camera应用来实现相机拍照和录像功能(比如市面上流行的360相机).此篇文章主要记录相机开发有关的基础知识,以及带着自己的理解翻译Camera官方文档,如有翻译不恰当支出,还请指出改正.当然我会开一个有关相机开发的一个系列,该系列主要内容包括如下: 相机基本预览拍照功能. 实现相机的Flash,Hdr,滤镜,前后摄

计算机基础知识学习

第一周学习 一.知识方面,总得来说,就是学习计算机基础知识. 1.从计算机的发展,应用,组成,网络等方面了解: 2.对计算机操作系统的学习:常用的操作系统,操作系统的功能.分类: 3.办公软件的学习:Word\Excel\ppt,像Word中编号格式.自动生成目录,Excel中条件格式的应用,图表插入,以及各种基础函数的使用: =SUM(Eoo*$E$3,Foo*$F$3,Goo*$G$3)  表示:用E\F\G列的各数与E3\F3\G3相乘后求和,count(if)\a 计数函数, =COUN

linux基础知识学习-linux架构

硬盘分区: 第一扇区(512bytes): MSR:master boot record (446bytes)主引导分区 partion table:(64bytes)分区表,四个.可以是主分区(primary)或者扩展分区(Extended), 每个表指向磁盘某段区间.最多只有一个扩展分区,扩展分区里面可以扩展多个逻辑分区.其余扇区(柱面(cylinder)):实际存储的地方 linux 中(\etc/fstab):IDE  总线形式不同 (a~d)/dev/hda SATA,SCSI,USB

Bash编程基础知识学习第一节

Bash编程基础知识学习 一.bash的由来 1 .什么是Bash 什么是Shell Bash 是GNU Bourne-Again SHell,是目前大多数Linux发行版采用的Shell. Shell 是*nix提供给用户使用的界面.一个操作系统的底层是独立运行的, 用户界面和底层分开,可以最大限度的保证系统稳定.Shell就是一个特殊的程序,负责接受用户的命令,并把系统的响应返回给用户. Bash Shell 一般不需要自己安装,在安装发行版的同时都会安装好. Shell的存在是和登陆相关的