《OC疯狂讲义》笔记(一)

1、OC简介
 
    Objective-C    继承自C和smalltalk
 
    最小程度增加了面向对象的部分,是一门面向对象编程语言
 
    1986. Next 得到授权
 
    关于 Cocoa 框架(96)
 
        Cocoachina.com  
        code4app.com
 
 
 2、OC HelloWorld
 
    OC的文件有哪几种?
 
    .h  头文件(声明类)
    .m  OC源文件(类的实现)
   
    #import <Foundation/Foundation.h>  //导入文件
 
    //main函数是OC得主入口函数
    int main(){
 
        NSLog(@"Hello World!");
        return 0;


    }


    1)NSLog的使用
 
      NSLog()  特点:
                  1)OC中的日志输出函数,
                  2)自动换行
                  3)带有时间戳
                  4)输出OC的特有的类型 %@(NSString)
                  5)在使用NSLog的时候,在格式控制字符串的末尾加上一个\n是不起作用
 
     printf    特点:
                  1)不能自动换行
                  2)不能打印OC中的字符串
 
   2)@符号的使用
 
      1)@""   表示OC中的字符串
      2)@特殊单词  OC的关键字
 
   3)NS 前缀的说明
 
      NextStep --> Next Software
 
 3、OC对比C快速入门
 
    1) 源文件的差异
 
    2)数据类型
 
       block   块
 
       id  万能指针
  
       BOOL YES/NO   1/0
 
       SEL  选择器
 
       Boolean 布尔类型 true/false  1/0
 
    3)关键字和标示符
  
       @xxx
 
    4)语句结构(分支和循环)
 
       oc 增强型for循环
       forin(快速枚举)
       for(NSString *str  in arr){
 
              str 每次存放的值是不一样的
       }


    5)函数对比
 
       C 函数:功能相对独立的代码段
        void test(int x){
 
        }
 
       OC 方法:功能相对独立的代码段
 
        1)对象方法
           - 开头
           对象调用
        
         -(返回值类型) 方法名;
         -(返回值类型) xxx:(参数类型) 形参名;
          对于有参数的方法来说,方法名是:"xxx:"
 
        2)类方法
 
          + 开头
          类名取调用
 
    6)逻辑类型
 
        BOOL / Boolean


 4、面向对象编程
 
    面向对象是面向过程而言
    面向对象是基于面向过程
    面向对象和面向过程,都是一中编程思想
 
    面向对象:
  
          首先是把功能封装到对象中
          完成一个事情,需要多少个对象来做
 
    面向过程:
          完成一件事情,需要哪些步骤
    类和对象
 
    类:一类事物的特征的抽象
    对象:满足类的特征的一个个体
 
    一个类可以创建多个对象
 
    类的提取
       名词提炼法


    类的创建步骤:
 
    1)类名
    2)类的属性(实例变量、成员变量)
    3)行为(方法)
 
 5、第一个OC类
 
    类的使用:1)声明一个类    2)实现一个类
  
    类的声明:(定义属性和声明方法)
 
    @interface 类名 : 父类名
    {
        //类的属性的定义
     }
    //类的方法声明
    @end
 
    类的实现:(方法的实现)
    
    @implementation 类名
    @end


    对象方法的定义:
 
     -(返回值类型) 方法名;
     
     -(返回值类型) xxx:(参数类型) 形参名;
     
     对于有参数的方法来说,方法名是:"xxx:"
 
     -(返回值类型) xxx:(参数类型) 形参名  andXXX:(参数类型) 形参名; 
 
     方法名:      xxx:                andXXX:
   
     [对象名 xxx:实参1 andXXX:实参2];
 
    方法的调用
     [对象名 方法名];   //调用无参方法
     [对象名 方法名:实参];


 6、对象的存储细节
 
    对象的创建:
    Student 类
    [Student new];
    1)申请存储空间
    2)给类的成员变量初始化(基本数据类型 0 ,NSString null)
    3)返回申请的内存空间的首地址(8个)
 
    //1)创建了一个Student 类型的 指针变量 stu
    //2)使用Student 类创建了一个对象 stu
    Student *stu = [Student new];
    sizeof(stu);   //8
 
 7、对象方法和函数之间的区别
 
    对象方法有归属,方法是属于某一个对象
    每个对象只能调用字节对象方法
    所有函数都是平行的
    只要先声明函数,我可以在任何函数中调用其他函数
 
 8、创建类的时候,常见的错误
    调用了一个 只是定义而没有实现的方法,会报错!
基于html+python+Apriori 算法、SVD(奇异值分解)的电影推荐算法+源码+项目文档+算法解析+数据集,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 电影推荐算法:Apriori 算法、SVD(奇异值分解)推荐算法 电影、用户可视化 电影、用户管理 数据统计 SVD 推荐 根据电影打分进行推荐 使用 svd 模型计算用户对未评分的电影打分,返回前 n 个打分最高的电影作为推荐结果 n = 30 for now 使用相似电影进行推荐 根据用户最喜欢的前 K 部电影,分别计算这 K 部电影的相似电影 n 部,返回 K*n 部电影进行推荐 K = 10 and n = 5 for now 根据相似用户进行推荐 获取相似用户 K 个,分别取这 K 个用户的最喜爱电影 n 部,返回 K*n 部电影进行推荐 K = 10 and n = 5 for now Redis 使用 Redis 做页面访问次数统计 缓存相似电影 在使用相似电影推荐的方式时,每次请求大概需要 6.6s(需要遍历计算与所有电影的相似度)。 将相似电影存储至 redis 中(仅存储 movie_id,拿到 movie_id 后还是从 mysql 中获取电影详细信息), 时间缩短至:93ms。 十部电影,每部存 top 5 similar movie 登录了 1-6 user并使用了推荐系统,redis 中新增了 50 部电影的 similar movie,也就是说,系统只为 6 为用户计算了共 60 部电影的相似度,其中就有10 部重复电影。 热点电影重复度还是比较高的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值