{"id":792,"date":"2010-12-10T18:32:26","date_gmt":"2010-12-10T09:32:26","guid":{"rendered":"http:\/\/yamazon.org\/?p=792"},"modified":"2010-12-10T18:32:26","modified_gmt":"2010-12-10T09:32:26","slug":"8sqlite%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6todo%e3%83%aa%e3%82%b9%e3%83%88%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e6%88%903","status":"publish","type":"post","link":"https:\/\/apr20.net\/?p=792","title":{"rendered":"[8]:SQLite\u3092\u4f7f\u3063\u3066ToDo\u30ea\u30b9\u30c8\u30a2\u30d7\u30ea\u3092\u4f5c\u6210(3)"},"content":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u30bf\u30a4\u30c8\u30eb\u306e\u901a\u308a\u300cSQLite\u3092\u4f7f\u3063\u3066ToDo\u30ea\u30b9\u30c8\u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u300d\u306e\u7b2c\u4e09\u90e8\u306b\u306a\u308b\u306e\u3067\u3001\u524d\u56de\u307e\u3067\u306e\u8a18\u4e8b\u3092\u65e2\u306b\u8aad\u3093\u3067\u304f\u3060\u3055\u3063\u3066\u3044\u308b\u65b9\u3092\u5bfe\u8c61\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 0px; margin: 0px;\">\n<li style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;\"><a style=\"color: #2970a6; text-decoration: none;\" href=\"http:\/\/yamazon.org\/iphone-app-develop-tips\/681\">[6]:SQLite\u3092\u4f7f\u3063\u3066ToDo\u30ea\u30b9\u30c8\u30a2\u30d7\u30ea\u3092\u4f5c\u6210(1)<\/a><\/li>\n<li style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 20px; list-style-position: inside; margin: 0px;\"><a style=\"color: #2970a6; text-decoration: none;\" href=\"http:\/\/yamazon.org\/iphone-app-develop-tips\/681\"><\/a><a style=\"color: #2970a6; text-decoration: none;\" href=\"http:\/\/yamazon.org\/iphone-app-develop-tips\/703\">[7]:SQLite\u3092\u4f7f\u3063\u3066ToDo\u30ea\u30b9\u30c8\u30a2\u30d7\u30ea\u3092\u4f5c\u6210(2)<\/a><\/li>\n<\/ul>\n<p>\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30e1\u30a4\u30f3\u306f\u3001\u9078\u629e\u3055\u308c\u305ftodo\u30a2\u30a4\u30c6\u30e0\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3067\u3059\u3002todo\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u66f4\u65b0\u3059\u308b\u65b9\u6cd5\u3082\u6271\u3044\u307e\u3059\u3002<\/p>\n<p><!--more-->\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u306f\u3001todo\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u6700\u5f8c\u306e\u5909\u6570complete \u306estatus(\u5b9f\u884c\u4e2d or \u5b8c\u4e86)\u3092\u53d6\u5f97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u65e2\u306b\u8a2d\u5b9a\u3057\u305f\u901a\u308a\u3001complete\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u5024\u306fboolean(1= \u6b63\u30012=\u507d)\u3067\u3059\u3002\u3053\u306e\u5024\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u53d6\u308a\u51fa\u3057\u3001todo\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u95a2\u9023\u3065\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u3001\u6700\u521d\u306b\u3001\u3053\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><strong>todo.h<\/strong> \u3092\u958b\u304d\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #78492a;\">#import <\/span>&lt;Foundation\/Foundation.h&gt;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #78492a;\">#import <\/span>&lt;sqlite3.h&gt;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@interface<\/span> Todo : NSObject {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #703daa;\">sqlite3<\/span><span style=\"color: #000000;\"> *<\/span>database<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>NSString<span style=\"color: #000000;\"> *<\/span><span style=\"color: #4e8187;\">text<\/span><span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #703daa;\">NSInteger<\/span><span style=\"color: #000000;\"> <\/span>primaryKey<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>NSInteger<span style=\"color: #000000;\"> <\/span><span style=\"color: #4e8187;\">priority<\/span><span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #703daa;\">NSInteger<\/span> status;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">BOOL<\/span> dirty;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@property<span style=\"color: #000000;\"> (<\/span>assign<span style=\"color: #000000;\">, <\/span>nonatomic<span style=\"color: #000000;\">, <\/span>readonly<span style=\"color: #000000;\">) NSInteger primaryKey;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@property<span style=\"color: #000000;\"> (<\/span>nonatomic<span style=\"color: #000000;\">, <\/span>retain<span style=\"color: #000000;\">) NSString *text;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span> (<span style=\"color: #bb2da2;\">nonatomic<\/span>) NSInteger priority;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span> (<span style=\"color: #bb2da2;\">nonatomic<\/span>) NSInteger status;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">id<\/span>)initWithPrimaryKey:(<span style=\"color: #703daa;\">NSInteger<\/span>)pk database:(<span style=\"color: #703daa;\">sqlite3<\/span> *)db;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)updateStatus:(<span style=\"color: #703daa;\">NSInteger<\/span>) newStatus;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)updatePriority:(<span style=\"color: #703daa;\">NSInteger<\/span>) newPriority;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)dehydrate;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@end<\/p>\n<\/blockquote>\n<p>\u3053\u3053\u3067\u306f\u3044\u304f\u3064\u304b\u306e\u5909\u66f4\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305a\u3001NSinteger\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001todo\u304c\u5b8c\u4e86\u3057\u305f\u304b\u3069\u3046\u304b\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306b\u95a2\u9023\u3065\u3051\u3089\u308c\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u3067\u3059\u3002\u3055\u3089\u306b\u3001\u305d\u308c\u304b\u3089property\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001dirty\u3068\u547c\u3070\u308c\u308bBOOL\u5024\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092todo\u304c\u5909\u66f4\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u304c\u3069\u306e\u3088\u3046\u306a\u5f79\u5272\u3092\u679c\u305f\u3059\u306e\u304b\u306f\u3001<strong>dehydrate<\/strong> \u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3059\u308b\u3068\u304d\u306b\u5206\u304b\u308a\u307e\u3059\u3002<\/p>\n<p>\u52a0\u3048\u3066\u3001\u4ee5\u4e0b\u306e\uff13\u3064\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u5ba3\u8a00\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><strong>updateStatus<\/strong> &#8211; \u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u5024\u3092\u66f4\u65b0\u3057\u305f\u3044\u6642\u306b\u547c\u3073\u51fa\u3059\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002<\/p>\n<p><strong>updatePriority<\/strong> &#8211; \u540c\u3058\u3088\u3046\u306b\u3001priority\u3092\u66f4\u65b0\u3057\u305f\u3044\u6642\u306b\u547c\u3073\u51fa\u3059\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002<\/p>\n<p><strong>dehydrate<\/strong> &#8211; \u57fa\u672c\u7684\u306b\u3001todo\u306e\u72b6\u614b\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3059\u308b\u6642\u306b\u4f7f\u3044\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u7d42\u4e86\u6642\u306b\u5404Todo\u9805\u76ee\u306b\u5bfe\u3057\u3066\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>status\u5909\u6570\u3092synthesize\u884c\u306b\u8ffd\u52a0\u3059\u308b\u306e\u3092\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4ee5\u524d\u884c\u3063\u305f\u306e\u3068\u540c\u69d8\u306b\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u305fdehydration\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u4fdd\u6301\u3059\u308b\u305f\u3081\u306b\u3001\u9759\u7684\u306asqlite3_stmt \u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><strong>Todo.m<\/strong> \u3092\u958b\u3044\u3066\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">static<\/span> sqlite3_stmt *init_statement = <span style=\"color: #bb2da2;\">nil<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">static<\/span> sqlite3_stmt *dehydrate_statment = <span style=\"color: #bb2da2;\">nil<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@implementation<span style=\"color: #000000;\"> Todo<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@synthesize<\/span> primaryKey,text,priority,status;<\/p>\n<\/blockquote>\n<p>\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)updateStatus:(<span style=\"color: #703daa;\">NSInteger<\/span>)newStatus {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">status<\/span> = newStatus;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #4e8187;\">dirty<\/span> = <span style=\"color: #bb2da2;\">YES<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)updatePriority:(<span style=\"color: #703daa;\">NSInteger<\/span>)newPriority {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">priority<\/span> = newPriority;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #4e8187;\">dirty<\/span> = <span style=\"color: #bb2da2;\">YES<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>) dehydrate {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span>(<span style=\"color: #4e8187;\">dirty<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">if<\/span><span style=\"color: #000000;\"> (<\/span>dehydrate_statment<span style=\"color: #000000;\"> == <\/span><span style=\"color: #bb2da2;\">nil<\/span><span style=\"color: #000000;\">) {<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">const<\/span><span style=\"color: #000000;\"> <\/span><span style=\"color: #bb2da2;\">char<\/span><span style=\"color: #000000;\"> *sql = <\/span>&#8220;UPDATE todo SET priority = ?,complete = ? WHERE pk=?&#8221;<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #3d1e81;\">sqlite3_prepare_v2<\/span>(<span style=\"color: #4e8187;\">database<\/span>, sql, &#8211;<span style=\"color: #252bd8;\">1<\/span>, &amp;<span style=\"color: #4e8187;\">dehydrate_statment<\/span>, <span style=\"color: #bb2da2;\">NULL<\/span>) != <span style=\"color: #78492a;\">SQLITE_OK<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #78492a;\">NSAssert1<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #252bd8;\">0<\/span><span style=\"color: #000000;\">, <\/span>@&#8221;Error: failed to prepare statement with message &#8216;%s&#8217;.&#8221;<span style=\"color: #000000;\">, <\/span><span style=\"color: #3d1e81;\">sqlite3_errmsg<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #4e8187;\">database<\/span><span style=\"color: #000000;\">));<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #3d1e81;\">sqlite3_bind_int<\/span><span style=\"color: #000000;\">(<\/span>dehydrate_statment<span style=\"color: #000000;\">, <\/span><span style=\"color: #252bd8;\">3<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>primaryKey<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #3d1e81;\">sqlite3_bind_int<\/span><span style=\"color: #000000;\">(<\/span>dehydrate_statment<span style=\"color: #000000;\">, <\/span><span style=\"color: #252bd8;\">2<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>status<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #3d1e81;\">sqlite3_bind_int<\/span><span style=\"color: #000000;\">(<\/span>dehydrate_statment<span style=\"color: #000000;\">, <\/span><span style=\"color: #252bd8;\">1<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>priority<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">int<\/span><span style=\"color: #000000;\"> success = <\/span><span style=\"color: #3d1e81;\">sqlite3_step<\/span><span style=\"color: #000000;\">(<\/span>dehydrate_statment<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span> (success != <span style=\"color: #78492a;\">SQLITE_DONE<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #78492a;\">NSAssert1<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #252bd8;\">0<\/span><span style=\"color: #000000;\">, <\/span>@&#8221;Error: failed to save priority with message &#8216;%s&#8217;.&#8221;<span style=\"color: #000000;\">, <\/span><span style=\"color: #3d1e81;\">sqlite3_errmsg<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #4e8187;\">database<\/span><span style=\"color: #000000;\">));<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #3d1e81;\">sqlite3_reset<\/span><span style=\"color: #000000;\">(<\/span>dehydrate_statment<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #4e8187;\">dirty<\/span> = <span style=\"color: #bb2da2;\">NO<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@end<\/p>\n<\/blockquote>\n<p>\u6700\u521d\u306e\u4e8c\u3064\u306e\u30e1\u30bd\u30c3\u30c9(udpateStatus \u3068 updatePriority)\u306f\u3001\u5206\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u3002\u3053\u308c\u3089\u306f\u3001todo\u306epriority\u3068status\u3092\u66f4\u65b0\u3057\u3001dirty\u30d7\u30ed\u30d1\u30c6\u30a3\u3092 1 \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3001todo\u304c\u5909\u66f4\u3055\u308c\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u3044\u3046\u5370\u3067\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001dehydrate \u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u7d42\u4e86\u6642\u306b\u5404todo\u306b\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002dirty \u30d7\u30ed\u30d1\u30c6\u30a3\u304cYES\u306a\u3089\u3001\u65b0\u3057\u3044\u30c7\u30fc\u30bf\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u767b\u9332\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30b3\u30fc\u30c9\u306f\u3001\u524d\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30b3\u30fc\u30c9\u306b\u4f3c\u3066\u3044\u307e\u3059\u3002\u307e\u305a\u3001dehydrate_statement \u304c nil \u304b\u3069\u3046\u304b\u8abf\u3079\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u305f\u6700\u521d\u306e\u6642\u3060\u3051\u306b\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001update\u6587\u3092\u4f5c\u6210\u3057\u3001bind \u306b\u3088\u3063\u3066\u5404\u201d\uff1f\u201d\u306b\u5909\u6570\u3092\u3042\u3066\u306f\u3081\u307e\u3059\u3002\u6ce8\u610f\u3059\u3079\u304d\u306f\u3001\u6570\u5b57\u304c\u3001\u5de6\u304b\u3089\u53f3\u3078\u201d\uff1f\u201d\u306e\u756a\u53f7\u3092\u8868\u3057\u3066\u3044\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001sqlite3_step\u3092\u547c\u3073\u51fa\u3057\u3066\u3001SQLite\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u5b9f\u884c\u3057\u3001\u305d\u3057\u3066\u3001\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002<\/p>\n<p><strong>Todo.m<\/strong> \u3067\u6700\u5f8c\u306b\u3059\u308b\u306e\u306f\u3001complete\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u53d6\u5f97\u3059\u308b\u305f\u3081\u306b\u3001initWithPrimaryKey \u30e1\u30bd\u30c3\u30c9\u5185\u306eSELECT\u6587\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30b3\u30fc\u30c9\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@synthesize<\/span> primaryKey,text,priority,status;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">id<\/span>)initWithPrimaryKey:(<span style=\"color: #703daa;\">NSInteger<\/span>)pk database:(<span style=\"color: #703daa;\">sqlite3<\/span> *)db {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #bb2da2;\">self<\/span> = [<span style=\"color: #bb2da2;\">super<\/span> <span style=\"color: #3d1e81;\">init<\/span>]) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #4e8187;\">primaryKey<\/span> = pk;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #4e8187;\">database<\/span> = db;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ Compile the query for retrieving book data. See insertNewBookIntoDatabase: for more detail.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #4e8187;\">init_statement<\/span> == <span style=\"color: #bb2da2;\">nil<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ Note the &#8216;?&#8217; at the end of the query. This is a parameter which can be replaced by a bound variable.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ This is a great way to optimize because frequently used queries can be compiled once, then with each<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ use new variable values can be bound to placeholders.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"> <\/span><span style=\"color: #bb2da2;\">const<\/span><span style=\"color: #000000;\"> <\/span><span style=\"color: #bb2da2;\">char<\/span><span style=\"color: #000000;\"> *sql = <\/span>&#8220;SELECT text,priority,complete FROM todo WHERE pk=?&#8221;<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #3d1e81;\">sqlite3_prepare_v2<\/span>(<span style=\"color: #4e8187;\">database<\/span>, sql, &#8211;<span style=\"color: #252bd8;\">1<\/span>, &amp;<span style=\"color: #4e8187;\">init_statement<\/span>, <span style=\"color: #bb2da2;\">NULL<\/span>) != <span style=\"color: #78492a;\">SQLITE_OK<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"> <\/span><span style=\"color: #78492a;\">NSAssert1<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #252bd8;\">0<\/span><span style=\"color: #000000;\">, <\/span>@&#8221;Error: failed to prepare statement with message &#8216;%s&#8217;.&#8221;<span style=\"color: #000000;\">, <\/span><span style=\"color: #3d1e81;\">sqlite3_errmsg<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #4e8187;\">database<\/span><span style=\"color: #000000;\">));<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ For this query, we bind the primary key to the first (and only) placeholder in the statement.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ Note that the parameters are numbered from 1, not from 0.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">sqlite3_bind_int<\/span><span style=\"color: #000000;\">(<\/span>init_statement<span style=\"color: #000000;\">, <\/span><span style=\"color: #252bd8;\">1<\/span><span style=\"color: #000000;\">, <\/span>primaryKey<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #3d1e81;\">sqlite3_step<\/span>(<span style=\"color: #4e8187;\">init_statement<\/span>) == <span style=\"color: #78492a;\">SQLITE_ROW<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"> <\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #703daa;\">text<\/span><span style=\"color: #000000;\"> = [<\/span><span style=\"color: #703daa;\">NSString<\/span><span style=\"color: #000000;\"> <\/span>stringWithUTF8String<span style=\"color: #000000;\">\ud83d\ude41<\/span><span style=\"color: #bb2da2;\">char<\/span><span style=\"color: #000000;\"> *)<\/span>sqlite3_column_text<span style=\"color: #000000;\">(<\/span><span style=\"color: #4e8187;\">init_statement<\/span><span style=\"color: #000000;\">, <\/span><span style=\"color: #252bd8;\">0<\/span><span style=\"color: #000000;\">)];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>priority<span style=\"color: #000000;\"> = <\/span><span style=\"color: #3d1e81;\">sqlite3_column_int<\/span><span style=\"color: #000000;\">(<\/span>init_statement<span style=\"color: #000000;\">,<\/span><span style=\"color: #252bd8;\">1<\/span><span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>status<span style=\"color: #000000;\"> = <\/span><span style=\"color: #3d1e81;\">sqlite3_column_int<\/span><span style=\"color: #000000;\">(<\/span>init_statement<span style=\"color: #000000;\">,<\/span><span style=\"color: #252bd8;\">2<\/span><span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">} <span style=\"color: #bb2da2;\">else<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #703daa;\">text<\/span> = <span style=\"color: #d12e1b;\">@&#8221;Nothing&#8221;<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"> <\/span>\/\/ Reset the statement for future reuse.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">sqlite3_reset<\/span><span style=\"color: #000000;\">(<\/span>init_statement<span style=\"color: #000000;\">);<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\"><span style=\"color: #000000;\"> <\/span>return<span style=\"color: #000000;\"> <\/span>self<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<p>\u3053\u3053\u306f\u3042\u307e\u308a\u5909\u66f4\u70b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u7b2c\u4e00\u306e\u5909\u66f4\u306f\u3001synthesize\u884c\u306bstatus\u3092\u8ffd\u52a0\u3057\u305f\u3053\u3068\u3067\u3059\u3002\u6b21\u306f\u3001SQL\u6587\u304c\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089complete\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u53d6\u5f97\u3059\u308b\u3088\u3046\u306b\u5909\u66f4\u3055\u308c\u305f\u70b9\u3067\u3059\u3002<\/p>\n<p>SELECT text,priority,complete FROM todo WHERE pk=?<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u201cself.status = sqlite3_column_in(init_statement,2);\u201d \u3068\u3044\u3046\u884c\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3001sql\u30c7\u30fc\u30bf\u914d\u5217\u5185\u306e\uff12\u756a\u76ee\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306bstatus\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u304c\u6b63\u3057\u304f\u6a5f\u80fd\u3059\u308b\u3088\u3046\u306b\u3001\u30e1\u30a4\u30f3\u30d3\u30e5\u30fc\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><strong>rootViewController.m<\/strong> \u3092\u958b\u304d\u3001<strong>viewDidLoad<\/strong> \u30e1\u30bd\u30c3\u30c9\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)viewDidLoad {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>\/\/ Add the following line if you want the list to be editable<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>\/\/ self.navigationItem.leftBarButtonItem = self.editButtonItem;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #703daa;\">title<\/span><span style=\"color: #000000;\"> = <\/span>@&#8221;Todo Items&#8221;<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<h4>Todo\u8a73\u7d30\u60c5\u5831view\u306e\u4f5c\u6210<\/h4>\n<p>UITableView\u304b\u3089todo\u304c\u9078\u629e\u3055\u308c\u305f\u6642\u306b\u8868\u793a\u3055\u308c\u308b\u8a73\u7d30\u60c5\u5831\u306eview\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002XCode\u4e0a\u304b\u3089\u3001\u3044\u305a\u308c\u304b\u306exib(nib)\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3001Interface Builder \u3092\u8d77\u52d5\u3057\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb \uff1e \u65b0\u898f\u4f5c\u6210 \u3092\u30af\u30ea\u30c3\u30af\u3057\u3001view\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-793\" title=\"792-1\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-1-300x199.png\" alt=\"792-1\" width=\"300\" height=\"199\" \/><\/a><\/p>\n<p>\u305d\u3057\u3066\u3001\u4f5c\u6210\u3055\u308c\u305fview\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<ul style=\"margin-top: 0px; margin-right: 0px; margin-bottom: 22px; margin-left: 2.5em; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; list-style-type: disc; list-style-position: initial; list-style-image: initial; background-position: initial initial; background-repeat: initial initial; padding: 0px; border: 0px initial initial;\">\n<li style=\"outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;\">UITextView<\/li>\n<li style=\"outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;\">UISegmentedControl &#8211; \u3053\u308c\u306b\u306f\u3001<span>\u30bb\u30b0\u30e1\u30f3\u30c8\u306e\u6570\u3092\u300c\uff13\u300d\u306b\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/span><span>\u307e\u305f\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u4e0b\u306b\u30c9\u30ed\u30c3\u30d7\u30c0\u30a6\u30f3\u30e1\u30cb\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/span><span>\u5404\u30bb\u30b0\u30e1\u30f3\u30c8\u3092\u9078\u629e\u3057\u3001\u30bf\u30a4\u30c8\u30eb\u306bpriority\u3092\u8a18\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/span><span>\u3053\u3053\u3067\u306f\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3067\u3059\u3002<\/span><span style=\"color: #000000;\">\u305d\u308c\u305e\u308c\u306epriority\uff08\u4f4e\u3001\u4e2d\u3001\u9ad8\uff09\u306b\u30bf\u30a4\u30c8\u30eb\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/span><\/li>\n<li style=\"outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;\"><span style=\"color: #000000;\"> <\/span>UILabel \u2013 \u3053\u308c\u306f\u00a0status \u3092\u8868\u793a\u3059\u308b\u306e\u306b\u4f7f\u3044\u307e\u3059\u3002<\/li>\n<li style=\"outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;\">UIButton \u2013 \u30e6\u30fc\u30b6\u304cstatus\u3092\u66f4\u65b0\u3059\u308b\u306e\u306b\u30af\u30ea\u30c3\u30af\u3059\u308b\u30dc\u30bf\u30f3\u3067\u3059\u3002(\u5b8c\u4e86\u3001\u672a\u5b8c\u4e86\u306a\u3069)<\/li>\n<\/ul>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-795\" title=\"792-2\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-21-295x300.png\" alt=\"792-2\" width=\"295\" height=\"300\" \/><\/a><\/p>\n<p>\u4e0a\u8a18\u306e\u3088\u3046\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u51fa\u6765\u4e0a\u304c\u3063\u305f\u3067\u3057\u3087\u3046\u304b\uff1f\u8272\u3084\u30b5\u30a4\u30ba\u306a\u3069\u306f\u3001\u304a\u597d\u307f\u3067\u8a2d\u7f6e\u3057\u3066\u304f\u3060\u3055\u3044\u3002command + S \u3067\u4fdd\u5b58\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3082\u3057\u304f\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u304b\u3089save\u3092\u9078\u3093\u3067\u4fdd\u5b58\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u540d\u524d\u306f<strong>TodoViewController <\/strong><span style=\"outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; font-weight: bold; background-position: initial initial; background-repeat: initial initial; padding: 0px; margin: 0px; border: 0px initial initial;\">\u3068\u3057\u307e\u3059\u3002\u4fdd\u5b58\u5148\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u9593\u9055\u3048\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u5834\u5408\u306f\u3001Todo\u3068\u3044\u3046\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059\u3002<\/span><\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-796\" title=\"792-3\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-3-300x267.png\" alt=\"792-3\" width=\"300\" height=\"267\" \/><\/a><\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30c0\u30a4\u30a2\u30ed\u30b0\u304c\u51fa\u305f\u3089\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u306b\u30c1\u30a7\u30c3\u30af\u3092\u5165\u308c\u3066\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-797\" title=\"792-4\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-4-300x252.png\" alt=\"792-4\" width=\"300\" height=\"252\" \/><\/a><\/p>\n<p>\u4ee5\u4e0a\u3067\u3001Interfaec Bilder \u3092\u9589\u3058\u307e\u3059\u3002\u6b21\u306b\u3001viewController \u30af\u30e9\u30b9\u3092\u8ffd\u52a0\u3057\u3001\u5909\u6570\u3092\u3053\u306eview\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<h4>TodoViewController\u30af\u30e9\u30b9\u3092\u4f5c\u6210<\/h4>\n<p>XCode\u4e0a\u304b\u3089 \u30d5\u30a1\u30a4\u30eb \uff1e \u65b0\u898f\u30d5\u30a1\u30a4\u30eb \u3092\u30af\u30ea\u30c3\u30af\u3057\u3001<strong>UIViewController Subclass<\/strong> \u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-798\" title=\"792-5\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-5-300x245.png\" alt=\"792-5\" width=\"300\" height=\"245\" \/><\/a><\/p>\n<p>\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u300c<strong>TodoViewController<\/strong>\u300d\u3068\u3057\u3001\u201dTodoViewController.h\u201d\u30d5\u30a1\u30a4\u30eb\u3082\u540c\u6642\u306b\u4f5c\u6210\u306b\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-799\" title=\"792-6\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-6-300x241.png\" alt=\"792-6\" width=\"300\" height=\"241\" \/><\/a><strong>TodoViewController.h<\/strong> \u3092\u958b\u304d\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #78492a;\">#import <\/span>&lt;UIKit\/UIKit.h&gt;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #78492a;\">#import <span style=\"color: #d12e1b;\">&#8220;Todo.h&#8221;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@interface<\/span> TodoViewController : UIViewController {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">IBOutlet<\/span> <span style=\"color: #703daa;\">UITextView<\/span> *<span style=\"color: #4e8187;\">todoText<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">IBOutlet<\/span><span style=\"color: #000000;\"> <\/span>UISegmentedControl<span style=\"color: #000000;\"> *<\/span><span style=\"color: #4e8187;\">todoPriority<\/span><span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">IBOutlet<\/span> <span style=\"color: #703daa;\">UILabel<\/span> *<span style=\"color: #4e8187;\">todoStatus<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span><span style=\"color: #bb2da2;\">IBOutlet<\/span><span style=\"color: #000000;\"> <\/span><span style=\"color: #703daa;\">UIButton<\/span><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>*<\/span>todoButton<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #4e8187;\">Todo<\/span><span style=\"white-space: pre;\"> <\/span>*<span style=\"color: #4e8187;\">todo<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span>(<span style=\"color: #bb2da2;\">nonatomic<\/span>,<span style=\"color: #bb2da2;\">retain<\/span>) <span style=\"color: #bb2da2;\">IBOutlet<\/span> UITextView \u00a0 \u00a0 \u00a0 \u00a0 *todoText;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span>(<span style=\"color: #bb2da2;\">nonatomic<\/span>,<span style=\"color: #bb2da2;\">retain<\/span>) <span style=\"color: #bb2da2;\">IBOutlet<\/span> UISegmentedControl *todoPriority;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span>(<span style=\"color: #bb2da2;\">nonatomic<\/span>,<span style=\"color: #bb2da2;\">retain<\/span>) <span style=\"color: #bb2da2;\">IBOutlet<\/span> UILabel\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 *todoStatus;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span>(<span style=\"color: #bb2da2;\">nonatomic<\/span>,<span style=\"color: #bb2da2;\">retain<\/span>) <span style=\"color: #bb2da2;\">IBOutlet<\/span> UIButton \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 *todoButton;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@property<span style=\"color: #000000;\">(<\/span>nonatomic<span style=\"color: #000000;\">,<\/span>retain<span style=\"color: #000000;\">) Todo<span style=\"white-space: pre;\"> <\/span>*todo;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">IBAction<\/span>) updateStatus:(<span style=\"color: #bb2da2;\">id<\/span>) sender;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">IBAction<\/span>) updatePriority:(<span style=\"color: #bb2da2;\">id<\/span>) sender;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@end<\/p>\n<\/blockquote>\n<p>\u57fa\u672c\u7684\u306b\u3001Interface Builder \u30a2\u30a6\u30c8\u30ec\u30c3\u30c8\u306e\u5404\u90e8\u54c1\u3092XCode\u3068\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>UIButton\u304cIBOutlet\u3092\u6301\u3063\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306f\u3001todo\u304c\u5b8c\u4e86\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u306b\u3088\u3063\u3066\u3001\u30dc\u30bf\u30f3\u306e\u6587\u5b57\u5217\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\u3089\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001updateStatus \u3068\u3044\u3046\u540d\u524d\u306eIBAction \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u5f8c\u3067\u30dc\u30bf\u30f3\u3068\u63a5\u7d9a\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306ftodo\u30a2\u30a4\u30c6\u30e0\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u5207\u308a\u66ff\u3048\u30b9\u30a4\u30c3\u30c1\u3067\u3059(\u5b8c\u4e86 or \u00a0\u672a\u5b8c\u4e86)\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001updatePriority \u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001UISegmentControl \u4e0a\u306epriority \u306e\u30bb\u30b0\u30e1\u30f3\u30c8\u304c\u30e6\u30fc\u30b6\u306b\u3088\u3063\u3066\u9078\u629e\u3055\u308c\u305f\u6642\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001<strong>TodoViewController.m<\/strong> \u3092\u958b\u3044\u3066\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@synthesize<\/span> todoText,todoPriority,todoStatus,todoButton,todo;<\/p>\n<\/blockquote>\n<p>\u3053\u308c\u306f\u3001\u5404\u5909\u6570\u306egetter\u3068setter\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u3089\u306e\u30b3\u30fc\u30c9\u3092\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u524d\u306b\u3001\u30e6\u30fc\u30b6\u304ctodo\u304c\u5b8c\u4e86\u3057\u305f\u3068\u8a18\u9332\u3059\u308b\u305f\u3081\u306b\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u6642\u3068\u3001UISegmentedControl \u306e\u30bb\u30b0\u30e1\u30f3\u30c8\u304c\u62bc\u3055\u308c\u305f\u6642\u306b\u3001\u547c\u3070\u308c\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u5148\u307b\u3069\u8ffd\u52a0\u3057\u305fsynthesize\u884c\u306e\u4e0b\u306b\u4ee5\u4e0b\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">id<\/span>)initWithNibName:(<span style=\"color: #703daa;\">NSString<\/span> *)nibNameOrNil bundle:(<span style=\"color: #703daa;\">NSBundle<\/span> *)nibBundleOrNil {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span> (<span style=\"color: #bb2da2;\">self<\/span> = [<span style=\"color: #bb2da2;\">super<\/span> <span style=\"color: #3d1e81;\">initWithNibName<\/span>:nibNameOrNil <span style=\"color: #3d1e81;\">bundle<\/span>:nibBundleOrNil]) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>\/\/ Initialization code<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>return<span style=\"color: #000000;\"> <\/span>self<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">IBAction<\/span>) updateStatus:(<span style=\"color: #bb2da2;\">id<\/span>) sender {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">if<\/span>(<span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todo<\/span>.<span style=\"color: #4e8187;\">status<\/span> == <span style=\"color: #252bd8;\">0<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.todoButton <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As In Progress&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateNormal<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.todoButton <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As In Progress&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateHighlighted<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>[<span style=\"color: #bb2da2;\">self<\/span>.todoStatus <span style=\"color: #3d1e81;\">setText<\/span>:<span style=\"color: #d12e1b;\">@&#8221;Complete&#8221;<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595e;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todo<\/span><span style=\"color: #000000;\"> <\/span>updateStatus<span style=\"color: #000000;\">:<\/span><span style=\"color: #252bd8;\">1<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>} <span style=\"color: #bb2da2;\">else<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.todoButton <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As Complete&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateNormal<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.todoButton <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As Complete&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateHighlighted<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>[<span style=\"color: #bb2da2;\">self<\/span>.todoStatus <span style=\"color: #3d1e81;\">setText<\/span>:<span style=\"color: #d12e1b;\">@&#8221;In Progress&#8221;<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595e;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todo<\/span><span style=\"color: #000000;\"> <\/span>updateStatus<span style=\"color: #000000;\">:<\/span><span style=\"color: #252bd8;\">0<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">IBAction<\/span>) updatePriority:(<span style=\"color: #bb2da2;\">id<\/span>)sender {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span><span style=\"color: #bb2da2;\">int<\/span> priority = [<span style=\"color: #bb2da2;\">self<\/span>.todoPriority <span style=\"color: #3d1e81;\">selectedSegmentIndex<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>[<span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todo<\/span> <span style=\"color: #31595e;\">updatePriority<\/span>\ud83d\ude41<span style=\"color: #252bd8;\">2<\/span>-priority+<span style=\"color: #252bd8;\">1<\/span>)];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<p>\u8a73\u3057\u304f\u898b\u3066\u884c\u304d\u307e\u3057\u3087\u3046\u3002\u307e\u305a\u3001updateStatus \u30e1\u30bd\u30c3\u30c9\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u30e6\u30fc\u30b6\u304cstatus\u3092\u5909\u66f4\u3059\u308b\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u6642\u306b\u547c\u3070\u308c\u307e\u3059\u3002<\/p>\n<p>\u57fa\u672c\u7684\u306btodo\u306e\u73fe\u5728\u306estatus\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3001\u305d\u308c\u306b\u5f93\u3063\u3066\u3001UIButton\u306e\u30c6\u30ad\u30b9\u30c8\u304c\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<p>todo\u304c\u672a\u5b8c\u4e86\u306a\u72b6\u614b\u3067\u3001\u5b8c\u4e86\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u308b\u3068\u3001\u30dc\u30bf\u30f3\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u6587\u5b57\u5217\u304c\u201d\u5b8c\u4e86\u306b\u8a2d\u5b9a\u201d\u304b\u3089\u201d\u672a\u5b8c\u4e86\u306b\u8a2d\u5b9a\u201d\u306b\u304b\u308f\u308a\u307e\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001todo \u306e updateStatus \u3092\u547c\u3073\u51fa\u3057\u3001\u65b0\u3057\u3044\u5024(1 or 0)\u3092\u6e21\u3057\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001updatePriority \u30e1\u30bd\u30c3\u30c9\u3092\u898b\u3066\u884c\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<p>\u3053\u308c\u306f\u5358\u7d14\u306b\u3001selectedSegmentIndex \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306b\u3088\u3063\u3066\u3001UISegmentedControl\u306e\u5024\u3092\u8aad\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306e\u7b87\u6240\u306f\u5c11\u3057\u8907\u96d1\u3067\u3059\u306d\u3002<\/p>\n<p>UISegmentedControl\u306e\u5024\u3092\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306b\u76f4\u63a5\u6e21\u3059\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u304b\u3089\u3067\u3059\u3002<\/p>\n<p>UISegmentedControl \u306f\u300c1,2,3\u300d\u306e\u3088\u3046\u306b\u6607\u9806\u3067\u4e26\u3093\u3067\u3044\u307e\u3059\u304c\u3001priority \u306f(3 = \u4f4e, 2 = \u4e2d, 1 = \u9ad8)\u3068\u964d\u9806\u306b\u306a\u3089\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3001\u201c2 \u2013 priority\u201d\u306e\u7b87\u6240\u3067\u3059\u3002<\/p>\n<p>\u6b21\u306f\u3001UISegmented \u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306f\u3001\u300c\uff10\u300d\u304b\u3089\u306f\u3058\u307e\u308a\u307e\u3059\u3002priority \u306f\u300c\uff11\u300d\u304b\u3089\u59cb\u307e\u308b\u306e\u3067\u3001\u201c+1\u2033\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u305d\u308c\u3067\u306f\u3001Interface Builder \u00a0\u4e0a\u306e UI Components \u3092\u3053\u306e\u30b3\u30fc\u30c9\u306b\u63a5\u7d9a\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><strong>TodoViewController.xib<\/strong> \u3092\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3001Interface Builder \u3092\u958b\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h4>\u30b3\u30fc\u30c9\u3068UI\u90e8\u54c1\u3092\u63a5\u7d9a\u3059\u308b<\/h4>\n<p>\u307e\u305a\u3001\u5148\u307b\u3069\u4f5c\u6210\u3057\u305f\u30af\u30e9\u30b9\u3068view\u3092\u95a2\u9023\u3065\u3051\u307e\u3059\u3002Interface Builder \u4e0a\u306eFile&#8217;s Owner \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002\u6b21\u306b\u3001Tools &gt; Identity Inspector \u3092\u958b\u304d\u307e\u3059\u3002class\u3068\u3044\u3046\u9805\u76ee\u306e\u3068\u3053\u308d\u306b\u30c9\u30ed\u30c3\u30d7\u30c0\u30a6\u30f3\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30ea\u30b9\u30c8\u304b\u3089\u300cTodoViewController\u300d\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-800\" title=\"792-7\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-7-287x300.png\" alt=\"792-7\" width=\"287\" height=\"300\" \/><\/a><\/p>\n<p>\u3053\u308c\u3067\u3001\u3053\u306e\u30af\u30e9\u30b9\u304c\u95a2\u9023\u3065\u3051\u3089\u308c\u307e\u3057\u305f\u3002\u90e8\u54c1\u3092\u63a5\u7d9a\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002view\u30a6\u30a4\u30f3\u30c9\u30a6\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002\u3069\u306eUI\u90e8\u54c1\u3082\u9078\u629e\u305b\u305a\u306b\u3001view\u81ea\u8eab\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u306e\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002Tools &gt; Connection Inspector \u3092\u958b\u304d\u307e\u3059\u3002\u201cNew Referencing Outlet\u201d\u306e\u6a2a\u306e\u25cb(\u5186\u30de\u30fc\u30af)\u3092\u30c9\u30e9\u30c3\u30b0\u3057\u3001File&#8217;s Owner \u306e\u4e0a\u3067\u3001\u653e\u3057\u307e\u3059\u3002<\/p>\n<p>\u201cview\u201d\u3068\u3044\u3046\u6587\u5b57\u304c\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3055\u308c\u308b\u306e\u3067\u3001\u305d\u308c\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u753b\u50cf\u3092\u53c2\u8003\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-803\" title=\"792-8\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-8-286x300.png\" alt=\"792-8\" width=\"286\" height=\"300\" \/><\/a>\u4ee5\u4e0b\u306e\u3088\u3046\u306bview\u3068File&#8217;s Owner\u304c\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308c\u3070OK\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u624b\u9806\u3092\u7e70\u308a\u8fd4\u3057\u3001\u5404\u90e8\u54c1(UITextView, UISegmentedControl, UILabel, UIButton)\u3092File&#8217;s Owner \u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002\u5148\u307b\u3069\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3057\u305f&#8221;view&#8221;\u3067\u306f\u306a\u304f\u3001\u305d\u308c\u305e\u308c\u3001\u76f8\u5f53\u3059\u308b\u540d\u79f0\u304c\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3055\u308c\u307e\u3059\u306e\u3067\u3001\u305d\u3061\u3089\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001UITextView \u3067\u306f\u3001File&#8217;s owner \u306b\u30c9\u30e9\u30c3\u30b0\u3059\u308b\u3068\u3001\u201ctodoText\u201d\u3068\u3044\u3046\u6587\u5b57\u5217\u304c\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3055\u308c\u3066\u73fe\u308c\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>updateStatus \u30e1\u30bd\u30c3\u30c9\u3092UIButton \u306b\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u3001UIButton \u3092\u9078\u629e\u3057\u305f\u72b6\u614b\u3067\u3001\u201cTouch up inside\u201d \u306e\u25cb\u3092File&#8217;s Owner \u306b\u30c9\u30e9\u30c3\u30b0\u3057\u307e\u3059\u3002\u3059\u308b\u3068\u201cupdateStatus\u201d\u3068\u3044\u3046\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u304c\u51fa\u3066\u304f\u308b\u3068\u601d\u3046\u306e\u3067\u3001\u305d\u308c\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-804\" title=\"792-10\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-10-300x198.png\" alt=\"792-10\" width=\"300\" height=\"198\" \/><\/a><\/p>\n<p>\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u753b\u50cf\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-805\" title=\"792-11\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-11-131x300.png\" alt=\"792-11\" width=\"131\" height=\"300\" \/><\/a>Interface Builder \u3067\u884c\u3046\u6700\u5f8c\u306e\u4f5c\u696d\u306f\u3001UISegmentedControl \u3092\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3059\u3002view\u306e\u4e2d\u304b\u3089UISegmentedControl\u3092\u9078\u629e\u3057\u3001<strong>Connections Inspector<\/strong>\u3092\u8868\u793a\u3055\u305b\u307e\u3059\u3002<\/p>\n<p>\u201cValue Changed\u201d \u30e1\u30bd\u30c3\u30c9\u306e\u6a2a\u306e\u25cb\u3092\u30c9\u30e9\u30c3\u30b0\u3057\u3001File&#8217;s Owner \u306e\u4e0a\u3067\u653e\u3057\u307e\u3059\u3002\u3059\u308b\u3068\u201dupdatePriority\u201d\u3068\u3044\u3046\u30e1\u30bd\u30c3\u30c9\u304c\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u3057\u3066\u304d\u307e\u3059\u306e\u3067\u3001\u305d\u308c\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u753b\u50cf\u306e\u3088\u3046\u306b\u306a\u308c\u3070OK\u3067\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-806\" title=\"792-12\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-12-130x300.png\" alt=\"792-12\" width=\"130\" height=\"300\" \/><\/a>\u305d\u308c\u3067\u306f\u3001\u5217\u304c\u9078\u629e\u3055\u308c\u305f\u6642\u3001\u3053\u306eview\u3092\u8868\u793a\u3055\u305b\u307e\u3057\u3087\u3046\u3002Interface Builder \u3092\u7d42\u4e86\u3057\u3001<strong>RootViewController.h<\/strong> \u3092\u958b\u304d\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #78492a;\">#import <\/span>&lt;UIKit\/UIKit.h&gt;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d12e1b;\"><span style=\"color: #78492a;\">#import <\/span>&#8220;TodoViewController.h&#8221;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@interface<\/span> RootViewController : UITableViewController {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>TodoViewController<span style=\"color: #000000;\"> *<\/span>todoView<span style=\"color: #000000;\">;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"color: #bb2da2;\">@property<\/span>(<span style=\"color: #bb2da2;\">nonatomic<\/span>,<span style=\"color: #bb2da2;\">retain<\/span>) TodoViewController *todoView;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\">\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@end<\/p>\n<\/blockquote>\n<p>view\u3092\u5909\u3048\u308b\u305f\u3081\u306b\u3001TodoViewController \u306b\u5909\u6570\u3092\u95a2\u9023\u3065\u3051\u307e\u3059\u3002<\/p>\n<p><strong>RootViewController.m<\/strong> \u3092\u958b\u304d\u3001synthesize\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2da2;\">@synthesize<span style=\"color: #000000;\"> todoView;<\/span><\/p>\n<\/blockquote>\n<h4>\u6700\u65b0\u306e\u72b6\u614b\u3092UITableView\u306b\u53cd\u6620\u3055\u305b\u308b<\/h4>\n<p>todo \u30a2\u30a4\u30c6\u30e0(status \u307e\u305f\u306f\u3001priority)\u304c\u5909\u66f4\u3055\u308c\u308b\u305f\u3073\u306b\u3001\u65b0\u3057\u3044\u5909\u66f4\u304c UITableView \u306b\u53cd\u6620\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><strong>viewWillAppear<\/strong> \u3092\u4ee5\u4e0b\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)viewWillAppear:(<span style=\"color: #bb2da2;\">BOOL<\/span>)animated {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #703daa;\">tableView<\/span><span style=\"color: #000000;\"> <\/span>reloadData<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span>[<span style=\"color: #bb2da2;\">super<\/span> <span style=\"color: #3d1e81;\">viewWillAppear<\/span>:animated];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<p>[self.tableView reloadData] \u306e\u884c\u306f\u3001view \u304c\u8868\u793a(\u975e\u8868\u793a)\u3055\u308c\u308b\u305f\u3073\u306b\u3001\u30c6\u30fc\u30d6\u30eb\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u3063\u3066\u3001\u5e38\u306b\u30c6\u30fc\u30d6\u30eb\u304c\u6700\u65b0\u306e\u60c5\u5831\u3092\u53cd\u6620\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p><strong>didSelectRowAtIndex<\/strong> \u30e1\u30bd\u30c3\u30c9\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)tableView:(<span style=\"color: #703daa;\">UITableView<\/span> *)<span style=\"color: #703daa;\">tableView<\/span> didSelectRowAtIndexPath:(<span style=\"color: #703daa;\">NSIndexPath<\/span> *)indexPath {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #4e8187;\">todoAppDelegate<\/span> *appDelegate = (<span style=\"color: #4e8187;\">todoAppDelegate<\/span> *)[[<span style=\"color: #703daa;\">UIApplication<\/span> <span style=\"color: #3d1e81;\">sharedApplication<\/span>] delegate];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #4e8187;\">Todo<\/span> *todo = (<span style=\"color: #4e8187;\">Todo<\/span> *)[appDelegate.<span style=\"color: #4e8187;\">todos<\/span> <span style=\"color: #3d1e81;\">objectAtIndex<\/span>:indexPath.<span style=\"color: #703daa;\">row<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">if<\/span>(<span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todoView<\/span> == <span style=\"color: #bb2da2;\">nil<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> <\/span>TodoViewController<span style=\"color: #000000;\"> *viewController = [[<\/span>TodoViewController<span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">alloc<\/span><span style=\"color: #000000;\">] <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> <\/span>initWithNibName<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;TodoViewController&#8221;<\/span><span style=\"color: #000000;\"> <\/span>bundle<span style=\"color: #000000;\">:[<\/span><span style=\"color: #703daa;\">NSBundle<\/span><span style=\"color: #000000;\"> <\/span>mainBundle<span style=\"color: #000000;\">]];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todoView<\/span> = viewController;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> [viewController <span style=\"color: #3d1e81;\">release<\/span>];<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> }<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #703daa;\">navigationController<\/span><span style=\"color: #000000;\"> <\/span>pushViewController<span style=\"color: #000000;\">:<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\"> <\/span>animated<span style=\"color: #000000;\">:<\/span><span style=\"color: #bb2da2;\">YES<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todoView<\/span>.<span style=\"color: #4e8187;\">todo<\/span> = todo;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">self<\/span>.<span style=\"color: #4e8187;\">todoView<\/span>.<span style=\"color: #703daa;\">title<\/span> = todo.<span style=\"color: #703daa;\">text<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>todoView<span style=\"color: #000000;\">.<\/span>todoText<span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">setText<\/span><span style=\"color: #000000;\">:todo.<\/span><span style=\"color: #3d1e81;\">text<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #703daa;\">NSInteger<\/span> priority = todo.<span style=\"color: #4e8187;\">priority<\/span> &#8211; <span style=\"color: #252bd8;\">1<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">if<\/span>(priority &gt; <span style=\"color: #252bd8;\">2<\/span> || priority &lt; <span style=\"color: #252bd8;\">0<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> priority = <span style=\"color: #252bd8;\">1<\/span>;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> }<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> priority = <span style=\"color: #252bd8;\">2<\/span> &#8211; priority;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoPriority<\/span><span style=\"color: #000000;\"> <\/span>setSelectedSegmentIndex<span style=\"color: #000000;\">:priority];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px;\"><span style=\"white-space: pre;\"> <\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> <span style=\"color: #bb2da2;\">if<\/span>(todo.<span style=\"color: #4e8187;\">status<\/span> == <span style=\"color: #252bd8;\">1<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoButton<\/span><span style=\"color: #000000;\"> <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As In Progress&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateNormal<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoButton<\/span><span style=\"color: #000000;\"> <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As In Progress&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateHighlighted<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>todoView<span style=\"color: #000000;\">.<\/span>todoStatus<span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">setText<\/span><span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Complete&#8221;<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> } <span style=\"color: #bb2da2;\">else<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoButton<\/span><span style=\"color: #000000;\"> <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As Complete&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateNormal<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoView<\/span><span style=\"color: #000000;\">.<\/span><span style=\"color: #4e8187;\">todoButton<\/span><span style=\"color: #000000;\"> <\/span>setTitle<span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;Mark As Complete&#8221;<\/span><span style=\"color: #000000;\"> <\/span>forState<span style=\"color: #000000;\">:<\/span>UIControlStateHighlighted<span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #4e8187;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span> [<\/span><span style=\"color: #bb2da2;\">self<\/span><span style=\"color: #000000;\">.<\/span>todoView<span style=\"color: #000000;\">.<\/span>todoStatus<span style=\"color: #000000;\"> <\/span><span style=\"color: #3d1e81;\">setText<\/span><span style=\"color: #000000;\">:<\/span><span style=\"color: #d12e1b;\">@&#8221;In Progress&#8221;<\/span><span style=\"color: #000000;\">];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\"><span style=\"white-space: pre;\"> <\/span> }<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<p>\u304a\u306a\u3058\u307f\u306e\u30b3\u30fc\u30c9\u304c\u305f\u304f\u3055\u3093\u4e26\u3093\u3060\u3001\u3068\u3066\u3082\u9577\u3044\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u306d\u3002<\/p>\n<p>\u307e\u305a\u3001appDelegate \u3078\u306e\u30cf\u30f3\u30c9\u30eb\u3068\u9078\u629e\u3055\u308c\u305ftodo\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001\u753b\u9762\u3092\u63a8\u79fb\u3055\u305b\u308b\u305f\u3081\u306b\u3001Interface Builder \u3067\u4f5c\u6210\u3057\u305f todoView \u3092 viewController \u306b\u914d\u7f6e\u3057\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u3001view \u306e\u3044\u304f\u3064\u304b\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p>title \u306f\u3001todo\u306e\u30bf\u30a4\u30c8\u30eb\u6587\u5b57\u5217\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u3042\u307e\u308a\u306b\u6587\u5b57\u5217\u304c\u9577\u3044\u5834\u5408\u306f\u3001\u524a\u3089\u308c\u307e\u3059\u3002\u3055\u3089\u306b\u3001UITextView \u306b\u3082\u6587\u5b57\u5217\u304c\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001UISegmentedView \u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u5909\u63db\u3057\u307e\u3059\u3002\u65e2\u306b\u3001\u3053\u306e\u5fc5\u8981\u6027\u306b\u3064\u3044\u3066\u306f\u3001\u8aac\u660e\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>setSelectedSegmentIndex \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3063\u3066\u3001UISegmentedControl \u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u30dc\u30bf\u30f3\u306e\u6587\u5b57\u5217\u3068todo\u306estatus\u304c\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u6700\u5f8c\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u9589\u3058\u3089\u308c\u308b\u6642\u3001\u5909\u66f4\u3092\u4fdd\u5b58\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p><strong>todoAppDelegate.m<\/strong> \u3092\u958b\u304d\u3001applicationWillTerminate \u30e1\u30bd\u30c3\u30c9\u3092\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<blockquote>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">&#8211; (<span style=\"color: #bb2da2;\">void<\/span>)applicationWillTerminate:(<span style=\"color: #703daa;\">UIApplication<\/span> *)application {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span><\/span>\/\/ Save data if appropriate<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1e81;\"><span style=\"color: #000000;\"><span style=\"white-space: pre;\"> <\/span>[<\/span><span style=\"color: #4e8187;\">todos<\/span><span style=\"color: #000000;\"> <\/span>makeObjectsPerformSelector<span style=\"color: #000000;\">:<\/span><span style=\"color: #bb2da2;\">@selector<\/span><span style=\"color: #000000;\">(<\/span><span style=\"color: #31595e;\">dehydrate<\/span><span style=\"color: #000000;\">)];<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo;\">}<\/p>\n<\/blockquote>\n<p><strong>makeObjectsPerformSelector<\/strong> \u30e1\u30bd\u30c3\u30c9\u306f\u3001&#8221;NSArray\u306e\u30e1\u30bd\u30c3\u30c9\u306b\u7d44\u307f\u8fbc\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u306f\u3001\u914d\u5217\u5185\u306e\u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3001\u6e21\u3057\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<p>\u5168\u3066\u306etodo\u306b\u5bfe\u3057\u3066\u3001todo[x].dehydrate \u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3088\u3046\u306b\u30eb\u30fc\u30d7\u3057\u307e\u3059\u3002<\/p>\n<p>\u3082\u3057\u3001todo\u304c&#8221;dirty&#8221;\u306a\u3089\u5909\u66f4\u3055\u308c\u305f\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u3001dehydrate\u30e1\u30bd\u30c3\u30c9\u306f\u4f55\u3082\u3057\u307e\u305b\u3093\u3002<\/p>\n<p>\u6ce8\u610f\u3059\u3079\u304d\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u4e2d\u306b\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u3092\u7d42\u4e86\u3059\u308b\u3068\u3001\u3053\u306eapplicationWillTerminate\u30e1\u30bd\u30c3\u30c9\u306f\u547c\u3070\u308c\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u3053\u308c\u304c\u6b63\u5e38\u306b\u547c\u3070\u308c\u3066\u3044\u308b\u3053\u3068(todo\u30c7\u30fc\u30bf\u306e\u5909\u66f4\u304c\u4fdd\u5b58\u3055\u308c\u305f\u3053\u3068)\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u306f\u3001todo\u306e\u5185\u5bb9\u3092\u5909\u66f4\u3057\u3066\u304b\u3089\u3001\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u4e0a\u306e\u30db\u30fc\u30e0\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\u3002<\/p>\n<p>\u3053\u308c\u3067\u4eca\u56de\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306f\u7d42\u4e86\u3067\u3059\u306e\u3067\u3001\u30d3\u30eb\u30c9\uff06\u5b9f\u884c\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-808\" title=\"792-13\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-13-265x300.png\" alt=\"792-13\" width=\"265\" height=\"300\" \/><\/a><\/p>\n<p><a href=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-809\" title=\"792-14\" src=\"http:\/\/yamazon.org\/wp-content\/uploads\/2010\/12\/792-14-265x300.png\" alt=\"792-14\" width=\"265\" height=\"300\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u30bf\u30a4\u30c8\u30eb\u306e\u901a\u308a\u300cSQLite\u3092\u4f7f\u3063\u3066ToDo\u30ea\u30b9\u30c8\u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u300d\u306e\u7b2c\u4e09&#8230;<\/p>\n","protected":false},"author":1,"featured_media":793,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-792","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-old-blog"],"_links":{"self":[{"href":"https:\/\/apr20.net\/index.php?rest_route=\/wp\/v2\/posts\/792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apr20.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/apr20.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/apr20.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/apr20.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=792"}],"version-history":[{"count":0,"href":"https:\/\/apr20.net\/index.php?rest_route=\/wp\/v2\/posts\/792\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/apr20.net\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/apr20.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apr20.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apr20.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}