• 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
    那么该类的头文件和实现文件都非常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 IOS研究之IOS开发笔记基础知识学习(二十五) - 第1张  | 成功智慧网-专注游戏编程开发! 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成的纸的形式

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    ubuntu配置bridge网桥
    openstack 手动安装版 功能测试
    BC一周年B
    重构摘要11_处理概括关系
    深入浅出Redis(二)高级特性:事务
    补:小玩文件1-统计文本文件里的字符个数
    【C】字符串,字符和字节(C与指针第9章)
    怎样对报表的參数控件赋值
    POJ-2240 -Arbitrage(Bellman)
    ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4776625.html
Copyright © 2020-2023  润新知