• 备用小知识[不断更新***]


    1.延时函数: [NSThread sleepForTimeInterval:3];

         [self performSelector:@selector(machineBallAction) withObject:nil afterDelay:0];

    2.

    读写属性(readwrite/readonly):顾名思义不用多说
    设置属性(assign/retain/copy):assign为直接赋值,适合数值类型的;retain最常用,一般对象都用这个代表保留;copy为复制,多用于字符串。
    原子性atomicity(nonatomic):默认是atomic,如果是多线程的程序要保证某一个成员变量的一致性,须使用 atomic。

    NSString用copy,

    delegate用assign(且一定要用assign),

    非objc数据类型,比如int,float等基本数据类型用assign(默认就是assign),

    而其它objc类型,比如NSArray,NSDate用retain。

    3.实现随机数:srandom(time(NULL));

    4.当你用alloc/init创建一个array时,它的引用计数已经为1了。因此当你完成与array相关的工作时,需要递减它的引用计数。在Object-C中,你可以通过对这个对象调用release方法。

      你一定要在dealloc方法中release这个array,显然易见,当你释放这个array后,你不会再需要这个array了。无论何时你在viewDidUnload中创建一个对象(这个对象的引用对象计数设置为1),你应该在viewDidUnload中释放这个对象。

    5.@protected变量用法: [object valueForKey:@"name"];

                或着直接赋值:value = @"name";

    总结:      直接调用 属性名 = 。。。将不会执行set方法

                  self.属性名       = 执行set方法 

    即:若用@property和@synthesize声明一个变量后,给其赋值是要在前面加上"self."!!!      切记!!!!!

    6.#pragma mark -

    #pragma mark Initialization

    它们告诉Xcode编译器,要在编辑器窗格顶部的方法和函数弹出菜单中将代码分隔开;

    注意

    1. #pragma mark – 的“-”后面不能有空格。
    2. 如果你的标志没有出现在弹出菜单中,比如没有分隔线出现,请在Xcode菜单 “Preferences..”中的 “Code Sense”选项取消选中”Sort list alphabetically”即可。
    3. 7.我们通过发送消息给对象出发特定动作;对象发送某些变化的时候通过回调函数(callback)通知我们。对象在特定事件发生的时候,就会调用对应的回调函数,触发业务逻辑。
    4. 回调函数通过所谓的代理(Delegation)来实现.
    5. 8.
  • 相关阅读:
    lua module
    lua require
    lua io
    lua table2
    lua table1
    【leetcode】魔术排列
    【leetcode】速算机器人
    【leetcode】黑白方格画
    【leetcode】根据数字二进制下 1 的数目排序
    【leetcode】插入区间
  • 原文地址:https://www.cnblogs.com/fuleying/p/2136287.html
Copyright © 2020-2023  润新知