准备
首先 你得有个正常的app项目(这是必须的 extension必须依附于某个app中 当然 不这样 你也无法单独安装某个widget)
打开项目工程 选择新建一个target 在 Application Extension 中选择today exntension 然后填入名字 确认即可
这时你的项目里多个一个target 同时也多了下面
接下来 删掉这个讨厌的 MainInterface.storyboard 然后修改plist文件中的 NSExtension 字段
删掉 NSExtensionMainStoryboard 字段
添加 NSExtensionPrincipalClass 字段 并设为TodayViewController (你也可以指定其他的ViewController)
修改完以后 Widget就可以开始编译运行了
运行
关于调试Widget 我推荐使用模拟器而不用真机 因为在研究过程中我发现真机调试的效果非常差 经常提示无法连接到手机(也有可能是5S的性能够不?) 导致无法正常的debug 或者无法reinstall 而模拟器则好点(至少能顺利的打印出log) 但是每次修改好代码以后 最好都先退出模拟器 再重新编译运行 如果你退出重新运行时提示下面这个错误 不用怕 多运行两次就ok了
创建表格的时候将主键设定为IDENTITY:
CREATE TABLE Test
(
Id INT PRIMARY KEY IDENTITY,
Value NVARCHAR(128) NOT NULL
)
插入数据的时候,不要给主键赋值,主键会自动增长:
INSERT INTO Test VALUES('Value1')
INSERT INTO Test VALUES('Value2')
数据表中的数据为:
Id Value
1 Value1
2 Value2
当然,如果你不希望Id从1开始,或者希望每条记录之间的增量不为1,你可以这样来创建你的表格:
CREATE TABLE Test
(
Id INT PRIMARY KEY IDENTITY(10000,2),
Value NVARCHAR(128) NOT NULL
)
这样,你的表格中的第一条记录的Id就是10000,而每次增加一条记录,Id的增量为2.
插入一条记录: insert into 表中(字段名1,字段名2,...) values(内容1,内容2...)
要获得刚插入的记录所自动生成的主键,一般会在插入记录时,连同电脑的IP地址,帐号及当前时间一点插入.
然後再用select 下where条件为本机IP,本帐号及今天的最大记录的ID
insert into 表名 values('值') select @@identity