iOS开发的一些小Tips

  1. 用object_setIvar()给类的私有变量赋值

    @interface TestViewController ()
    {
       NSSting *_testString;
       int _testNum;
       BOOL _testBool;
    }
    @end
    

赋值时:

   //NSSting 类型的
   Ivar strIvar = class_getInstanceVariable([self class], "_testString");
   object_setIvar(self, strIvar, "testStrValue");

   //基本数据类型的
   Ivar intIvar = class_getInstanceVariable([self class], "_testNum");
   int tempInt = 123;
   object_setIvar(self, strIvar, (__bridge id)(*(void **)&tempInt));

   Ivar boolIvar = class_getInstanceVariable([self class], "_testBool");
   BOOL tempbool = YES;
   object_setIvar(self, strIvar, (__bridge id)(*(void **)&tempbool));
  1. iOS可变参数应用
    -(id)initWithTitles:(NSString *)titles,... NS_REQUIRES_NIL_TERMINATION
    {
    self = [super init];
    if(self)
    {
    va_list args;
    va_start(args, titles);
    for(NSString *arg = titles; arg != nil; arg = va_arg(args, NSString *))
    {
    if (arg) {
    NSLog("title = %@", arg);
    }
    }
    va_end(args);
    }
    return self;
    }
    宏NS_REQUIRES_NIL_TERMINATION表示可变参数是以nil为结束符。
    以上代码会把可变参数一一打印出来。

  2. UITableViewStyleGrouped模式下间距tip

    去除顶部的header:
    //去除UITableViewStyleGrouped上边多余的间隔
    _tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
    
    section的header和footer处理:

    Group模式每个section之间的间隔都由header和footer组成,所以要去掉,需要把header和footer都去掉:

    // 隐藏UITableViewStyleGrouped下边多余的间隔
    - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
        return CGFLOAT_MIN;
    }
    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
        return CGFLOAT_MIN;
    }
    

持续更新...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,085评论 3 38
  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 2,915评论 2 10
  • //设置行高 (CGFloat)tableView:(UITableView *)tableView height...
    俊月阅读 1,310评论 0 1
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,723评论 1 9
  • 飞鸿茶庄里,武夷山大红袍刚刚泡下,袅袅茶香弥漫在室内,润人心脾。女子一身黑白格子呢子洋装,顶着齐脖的卷发,唇红齿白...
    黛眉鬼魅阅读 265评论 0 0