登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

仿微信朋友圈--CircleOfFriendsDisplay

[复制链接]
来自: 15754713678 分类: iOS精品源码 上传时间: 2017-12-25 16:58:04
Tag:

项目介绍:

CircleOfFriendsDisplay

欢迎点赞

小项目还未完善,一直在更新,欢迎star   欢迎提bug以便改进 以便互相进步
朋友圈的做法

图片描述

我的博客

运用MVC设计模式

MVC 是苹果公司最热衷的一种架构模式

  • M: model的缩写 模型层的简称

    • model层用来存放整个工程中需要的所有数据 (实体类的创建、数据的请求、数据持久性存储等操作都是写在model层的)

  • C: controller的缩写 控制层的简称

    • controller层用来将model上的数据显示在view上(controller层实时监控model上的数据变化 指挥view视图显示model上的数据)

  • 【注意】model层和view视图不能直接通信 必须借助controller层

  • V: view的缩写 视图层的简称

    • view层主要听从controller的指挥显示model层的数据

app中用到的MVC设计模式详解

  • 在ViewController控制其中,我么只做了两件事情

    • 1、通过数据请求的类GetInfoSection将数据请求下来保存在数组当中

    • 2、new一个viewZoneView并加载在该控制器当中,然后给该view传递数据过去。

      这样就可以做到隔离数据模型model 和view界面 遵循了低耦合的设计思想

-(void)getZonInfo
{
    //下方模拟的是数据请求  请求下来数组Info
    NSMutableArray *Info = [GetInfoSection getInfo];
    //将数据传到zoneView(这里传递的数据可以是身份信息,例如id)然后在zoneView中根据该id进行
    if (_zoneView == nil) {
        _zoneView = [[ZoneView alloc]init];
        _zoneView.translatesAutoresizingMaskIntoConstraints = NO;
        [self.view addSubview:_zoneView];
        [_zoneView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(0, 0, 0, 0));
        }];
    }
    _zoneView.zoneInfo = Info;
}

上下拉刷新功能

  • 上下拉刷新用的是MJRefresh

  • MJRefresh 点击看详情

  •   //首页动态的下拉与上拉
            [_zoneTableView addHeaderWithTarget:self action:@selector(dynamicTableViewheaderRereshing) dateKey:@"ClassZonedynamicTableView"];
            [_zoneTableView addFooterWithTarget:self action:@selector(dynamicTableViewfooterRereshing)];
            _zoneTableView.headerPullToRefreshText = @"下拉刷新";
            _zoneTableView.headerReleaseToRefreshText = @"松开刷新";
            _zoneTableView.headerRefreshingText = @"正在加载";
            
            _zoneTableView.footerPullToRefreshText = @"加载更多";
            _zoneTableView.footerReleaseToRefreshText = @"松开加载";
            _zoneTableView.footerRefreshingText = @"加载中";

*`

  • 然后再dynamicTableViewheaderRereshing方法中进行数据请求,最终增加到总得数组中,然后tableView reloadDate.

消息传递的做法(我用的是推送:个推

  • 做朋友圈当然要进行消息的传递(例如评论,点赞等)

  • 我的想法就是当我们评论完成点击发送或者return的时候:

    • tableViewCell中的代理方法会被触发,然后在tableView界面进行操作:键盘收起

    • 然后会进行网络请求,将你要发送的内容发送到我们的服务器(在我们发送到服务器的同时,要进行本地的数据的刷新工作,是我们本地快速的显示出来)。

    • 再然后服务器会把网路传过去得东西通过苹果服务器给我们要发送的人推送过去。

    • 假如我们是接收消息的客户端,我们就会通过个推获得消息,然后进行分析,进行处理,最后放到数据库,然后做一个通知NSNotification.

        那么在控制器就会接受通知,然后通过- (void)onReceiveNewDynamic:(NSDictionary *)dic这个方法控制zoneView(就是tableview界面)的

  数据的刷新。

  • 基本就是这样一个流程,接下来讲讲推送。

新增小视频功能:

讲解小视频

图片描述

图片描述
图片描述
图片描述

富文本的使用 TTTAttributedLabel

图片描述

相关源码推荐:

我来说两句
*滑动验证:
所有评论(342)
15754713678 2017-12-25 16:59:56
GitHub:https://github.com/liyuunxiangGit/CircleOfFriendsDisplay
回复
15754713678 2017-12-25 17:00:57
GitHub:https://github.com/liyuunxiangGit/CircleOfFriendsDisplay
回复
15754713678 2017-12-25 17:01:48
GitHub:https://github.com/liyuunxiangGit/CircleOfFriendsDisplay
回复
15754713678 2017-12-25 17:09:48
很给力,Code4App有你更精彩!
回复
BlueManlove 2017-12-26 10:22:32
膜拜大神~
回复
littleRed 2017-12-26 10:22:42
相当不错,感谢无私分享精神!
回复
code4app热心网友 2017-12-26 10:43:53
正需要啊,感谢楼主无私分享!
回复
13240811187 2017-12-26 11:07:08
学习学习!
回复
枫枫枫丶 2017-12-26 11:14:31
虽不明,但觉厉!
回复
提取码:  下载次数:494 状态:已购或VIP 售价:0(原价:15)金钱 下载权限:初级码农 
3621 1 494
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表