这篇文章是我的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
那么该类的头文件和实现文件都非常easy。
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(@”
%@
”,[[NSString alloc] initWithData:tempData encoding:NSUTF8StringEncoding]);//打印数据获取数据。经过測试能够正确打印出tempData中的字符串。
当然,也能够使用NSLog(@”
%@
”, tempData);//直接打印,当测试结果被打印16成的纸的形式
版权声明:本文博主原创文章,博客,未经同意不得转载。