iphone cookbook 小结 – part 2

接上一篇 iphone cookbook – part 1

基本表格:

  • 表格不直接拥有或复制它们使用的单元格。表格单元的存在独立于每个表格。UITableView实例依赖外部源根据需要提供新的或现有的表格单元。此外部源成为“数据源”,是指负责向表格的查询返回单元格的对象。
  • 当使用UITableViewController子类时,你需要指定UITableViewDataSource协议。UITableViewController类隐式支持该协议。
  • 委托让表格将响应这些交互操作的责任移交给你指定的对象。
  • 可以使用selft.tableView来直接访问该视图。它自动设置数据源并且将表格视图的方法委托给自己。而且当通过setEditing:animated: 调用向其父导航中添加Edit | Done按钮时,它还会自动实现编辑模式。
  • [UIFont familyNames] 调用返回可用的系统字体array
  • 表格可以用于通过选择蓝色或灰色覆盖为所选单元格设置颜色。将selectionStyle属性设置为UITableViewCellSelectionStyleBule或UITableViewCellSelectionStyleGray。如果你不想显示选择内容,则使用UITableViewCellSelectionStyleNone。仍然可以选择单元格,但是不会显示覆盖。
  • [tableView deselectRowAtIndexPath: [tableView indexPathForSelectedRow]]
  • [self performSelector:@selector(deselect:) withObject:nil afterDelay:0.5f]
  • 删除单元格:[self.tableView beginUpdates] [self.tableView endUpdates] a delegate method : -(void) tableView:(UITableView*) tableView commitEditingStyle:(UITableViewCellEditingStyle) editingStyle forRowAtIndexPath:(NSIndexPath*) indexPath
  • 对单元格重新排序:self.tableView.showsReorderControl = YES;  a delegate method: – (void) tableView: (UITableView*) tableView moveRowAtIndexPath:(NSIndexPath*) oldPath toIndexPath:(NSIndexPath*) newPath
  • cell.editingStyle = UITableViewCellEditingStyleDelete; cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; cell.hidesAccessoryWhenEditing = YES;

连接服务:

  • 利用自定义模式可以在Mobile Safari(或其他应用程序)打开此类 URL时启动应用程序。URL模式表示在冒号前出现的URL的第一个部分,如http和ftp。例如,如果你的应用程序注册了xyz,则任何xyz://链接都将直接转入你的应用程序以便处理,它们会传入可选的application:handleOpenURL:方法。
    无论你是否定义了处理方法,自定义模式都将启动应用程序。如果你只希望运行应用程序,可添加模式并打开URL,这支持交叉应用程序启动。
    处理程序可扩展启动,从而允许应用程序对传入的URL进行一些处理。它们可能会打开特定的数据文件,检索特定名称,显示某些图像或以其他方式处理调用中包含的信息。
    在应用程序的Info.plist文件中定制自定义URL模式。在CFBundleURLTypes数组中指定两个项目来完成此目标。第一个是CFBundleURLName,其中包含一个随机标识符,通常使用苹果公司的标准反转域名样式。第二个包含一个CFBundleURLSchemes数组,声明为字符串。该数组包含一个项目,即xyz模式。
  • 与iphone数据库交互。FMDB Cocoa包装(wrapper)来满足数据库需求(http://gusmueller.com/x/fmdb.zip)。FMDB提供了sqlite绑定,可简化iphone数据库的创建,访问和更新。一个查询类似[db executeQuery:@”select * from call”]

0 comments:

Leave a Reply

Your email address will not be published. Required fields are marked *