wiki:entity

Version 20 (modified by leijingtang, 14 years ago) (diff)

--

本地项目(LocalItem?):用于抽象用户保存在本地的图片和图集,也就是说一个LocalItem可以是图片,也可以是图集

ItemType:(enum:{PhotoItem?, AlbumItem?})用于区分图片和图集

saveTime:NSString 保存时间

isChosen:BOOL 用于本地浏览进行编辑操作时判断是否选中

  • (NSString *)itemId;子类必须实现,返回图集或者图片的id
  • (NSString *)cover;子类可选择实现,返回当前item的封面,即小图
  • (NSString *)title;子类可选择实现,无论是图集还是图片返回的都是图集标题

本地项目管理器(LocalItemManager?):用于管理本地项目的类

+ (void)getItems;读取本地项目

+ (NSArray *)getAlbumItems;获取图集项目

+ (void)saveItem:(LocalItem? *)item;保存某个项目到本地

+ (void)deleteItem:(LocalItem? *)item://删除本地项目

+ (NSArray *)getAllPhotos;合并所有图集和独立图片成单个集合

图集(Album):

name : NSString 名称

author : NSString 作者

type : NSString 分类

cover : NSString 封面url

total : NSString 图片数量

origin_url : NSString 对应的web链接

theme : NSString 主题

location : NSString 拍摄地点

create_time : NSString 拍摄时间

nature : NSString 拍摄性质

vote : NSString 获票数

abstruct : NSString 作品概况

clicks : NSString 点击数

is_picked : BOOL 是否精华

+ template : NSString 分享的模板

photos : NSArray 该图集的所有图片

图片列表(PhotoList?) : 浏览大图用到的,与图集是不同的概念

count : NSInteger 图片数量

currentIdx : NSInteger 当前浏览的索引

photos : NSArray 用于浏览的图片列表

+ slideShowTimeInterval : CGFloat 这个应该直接读取app设置

  • (Photo *)getPhotoByIndex:(NSInteger)idx;
  • (void)appendPhoto:(Photo *)photo;

图片(Photo):

photo_id : NSString 图片id

album_id : NSString 从属的图集id

album_name : NSString 从属的图集名称

name : NSString 图片名称

big_photo_url : NSString 图片url

small_photo_url : NSString 小图url

is_picked : BOOL 是否精华

save_time : NSString 被保存的时间

ISO : NSString iso

exposure : NSString 曝光

aperture : NSString 光圈

shutter : NSString 快门

ev : NSString 曝光补偿

camera : NSString 相机

  • (void)is_saved;

评论(Comment):

user_id : NSString 评论者的太平洋通行证id

name : NSString 评论者名称

content : NSString 评论内容

create_time : NSString 发表时间

下载任务(DownloadTask?):

enum {loading, waiting, stopped, finished}State

state : State

save_time: NSString 启动下载的时间

album : Album 图集对象

downloaded_count : NSInteger 下载成功的图片数

total_count : NSInteger 该图集的图片数

failed_count : NSInteger 下载失败的图片数

loading_idx : NSInteger 该索引指向的图片为下载中

conn : NSURLConnection 某图片的链接对象

  • (void)start;
  • (void)stop;
  • (void)continue;
  • (void)notify;
  • (void)save;
  • (BOOL)isLoading;
  • (void)deletePhoto:(Photo *)photo;

下载队列(DownloadQueue?):

@private

+ tasks : NSArray 元素为下载任务,下载完成之后将该元素序列化。

+ (void)startTaskAtIndex:(NSInteger)idx;

+ (void)stopTaskAtIndex:(NSInteger)idx;

+ (void)deleteTaskAtIndex:(NSInteger)idx;

+ (void)receiveSuccesNotify:(NSNotification *)noti;

+ (BOOL)isLoading;检查任务列表中是否还有loading状态的任务,但是因为队列中只有loading和waiting的任务,所以可以通过判断[tasks count]是否为0来实现。

+ (void)notifyWhenDone; 是所有任务都下载的时候通知,还是没有等待中任务也通知?

+ (void)addTask:(DownloadTask? *)task;

+ (void)deleteTask:(DownloadTask? *)task; 用户主动删除任务

+ (void)continueDownload;从LocalItemManager中同步下载任务,在询问用户并得到用户的确认后执行该方法。

关注的摄影师(FocusedPhotographer?):

@private

+ user_ids : NSArray 已关注的摄影师

+ (void)getAllPhotographers;

+ (BOOL)haveFocusedPhotographer:(NSString *)user_id;

摄影师(Photographer):

user_id : NSString 摄影师id

nickname: NSString 摄影师昵称

location : NSString 地区

title : NSString 摄影师头衔

已保存界面(save_6)和拼图(pintu_8)的本地存储结构:

- documents/
            - save/
                   - classes/
                             - photoItems/
                             - albumItems/