The Elements
https://developer.apple.com/library/ios/samplecode/TheElements/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007419 UINavigationController *navController = [storyboard instantiateViewControllerWithIdentifier:@"navForTableView"];
ElementsTableViewController *viewController =
(ElementsTableViewController *)[navController topViewController]; // 1. [navController topViewController] id<ElementsDataSource, UITableViewDataSource> dataSource;
dataSource = [[ElementsSortedByNameDataSource alloc] init];
viewController.dataSource = dataSource; . //将dataSource 指定为其他类, 可以在其他类中实现 UITableViewDataSource 中的方法
详见: 苹果官方demo The Elements 在ElementsSortedByNameDataSource 类中实现UITableViewDataSource 的方法. .
AtomicElement 数据控制类:
AtomicElementTileView 类声明 AtomicElement 类型的属性
使用self.语法直接对其赋值 elementTileView.element = _element; . 使用 prepareForSegue 进行界面跳转
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender segue.destinationViewController 要跳转到的controller
segue.sourceViewController 资源controller (将要从这个controller进行跳转) .
(self.statesDictionary)[@"Solid"] = [NSMutableArray array]; //self.statesDictionary 这个字典本身无 Solid 这个 key ,
但是此语法将 在self.statesDictionary 添加 以 Solid 为key 以后面创建的数组 [NSMutableArray array] 为value . . 使用(self.nameIndexesDictionary)[aKey] 这类语法(糖衣语法),
()- (NSArray *)elementsWithInitialLetter:(NSString*)aKey { return (self.nameIndexesDictionary)[aKey];
}
() (self.elementsDictionary)[anElement.name] = anElement;
(),() 可以看出 (self.nameIndexesDictionary)[aKey] 这种语法既 self.nameIndexesDictionary[aKey] 将其对应的value 取出来 然后经行 set 方法取值 和 get 方法赋值. . 从demo中获益最大的就是tableView.dataSource 可以指定为单独的一个类来控制 self.tableView 这样可以是Controller 可与 数据处理类 区分开来,
是controller类中的代码更加简洁. 同理 delegate 也应该可以用此种方法实现. . 顺便记录一下 demo的项目文件夹结构.
()Classes{
Application Support { }
TableView Representations{
View Controllers{ }
User Interface Elements{ }
Data Sources{ }
}
Single Element View {
User Interface Elements{ }
Data Sources{ }
}
Data Model{ }
}
()Other Sources{ }
()Resources{ }

苹果官网 demo The Elements 阅读随笔的更多相关文章

  1. 验证Xcode真伪的方法,来自苹果官网

    验证Xcode真伪的方法,来自苹果官网   Xcode的验证你的版本 2015年9月22日    注意:中文为有道翻译,看下验证方法即可.   我们最近将应用程序从应用程序商店,还建有Xcode的假冒 ...

  2. 新型钓鱼手段预警:你看到的 аррӏе.com 真是苹果官网?

    研究人员发现一种"几乎无法检测"的新型钓鱼攻击,就连最细心的网民也难以辨别.黑客可通过利用已知漏洞在 Chrome.Firefox 与 Opera 浏览器中伪造显示合法网站域名(例 ...

  3. Java 银联支付官网demo测试及项目整合代码

    注:原文来源与 < Java 银联支付官网demo测试及项目整合代码  > 银联支付(网关支付B2C) 一.测试官网demo a)下载官网开发包,导入eclipse等待修改(下载的开发包没 ...

  4. 如何在苹果官网下载旧版本的Xcode

    如何在苹果官网下载旧版本的Xcode 前段时间XcodeGhost事件让很多应用中招,不乏一些知名的互联网公司开发的应用.事件的起因是开发者使用了非官方的Xcode,这些Xcode带有xcodegho ...

  5. jqgrid--api,官网demo,编辑

    api参考: http://blog.csdn.net/hurryjiang/article/details/7551477 官网demo: http://www.trirand.com/blog/j ...

  6. APP Distribution Guide 苹果官网

    https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduct ...

  7. webpack官网demo起步中遇到的问题

    在webpack官网demo一开始搭建中 

  8. [WPF] 抄抄超强的苹果官网滚动文字特效实现

    1. 前言 今天 ChokCoco 大佬发布了一篇博客 超强的苹果官网滚动文字特效实现,iPhone 我是买不起的,但不妨碍我对抄特效感兴趣,正好我这周安排的工作已经完成了,于是有空练练手实现了一个 ...

  9. SpringBoot使用JSP(官网Demo)

    最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌serv ...

随机推荐

  1. javacc jjtree 写法 以及 jj写法 基本语法 以及应用

    /***********************************************************/>我使用的测试jjt,jj文件来自于javacc5.0版本>dir ...

  2. poj - 2377 Bad Cowtractors&&poj 2395 Out of Hay(最大生成树)

    http://poj.org/problem?id=2377 bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她 ...

  3. Volley HTTP库系列教程(4)Volley内置的几种请求介绍及示例,StringRequest,ImageRequest,JsonObjectRequest

    Making a Standard Request Previous  Next   This lesson teaches you to Request a String 返回String Requ ...

  4. [Topcoder]ZigZag(dp)

    题目链接:https://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 题意:给一串数字,求出最长的波 ...

  5. leetcode:Delete Node in a Linked List

    Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...

  6. 51nod1295 XOR key

    第一次写可持久化trie指针版我... //Null 的正确姿势终于学会啦qaq... #include<cstdio> #include<cstring> #include& ...

  7. java线程join的意思(转自http://zjj1211.blog_51cto_com)

    Join,单词本事就是连接的意思. 先贴出几段代码猜猜结果. <1> public static int Main() { Alpha oAlpha = new Alpha(); Thre ...

  8. RAC 环境下的重要参数

    Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例.这些参数包括数据库名字.sga,pga的分配,控制文件的位置,undo,process等等.Oracle RAC数据库同样 ...

  9. 如何定义java中的类

    3步走,如下示例代码所示: package com.imooc; //1.定义一个类 public class Telphone { //2.属性(成员变量)有什么 float screen; flo ...

  10. perl环境配置以及Eclipse安装perl开发插件

    简介: 这篇文章将详细介绍 EPIC 组件的安装,EPIC 编辑环境,调试运行环境,着重介绍如何使用 EPIC 来快速.简便.准确地调试 Perl 语言程序,包括对于 Perl 程序的单步执行,断点用 ...