钛 alloy : 'NSUnknownKeyException'?
Titanium alloy : 'NSUnknownKeyException'?
给定./views/listview.html 例如:
<Alloy>
<Window backgroundColor="white">
<ListView id="listView" defaultItemTemplate="template">
<Templates>
<ItemTemplate name="template" id="template">
<Label bindId="name" id="title" />
<Label bindId="position" id="subtitle" />
</ItemTemplate>
</Templates>
<ListSection id="listsection">
<ListItem template="template" class=""/>
</ListSection>
</ListView>
</Window>
</Alloy>
给定 ./controllers/listview.js 为 :
var hrdata = [
{"n":{"text":"Adrien"},"position":{"text":"Boss"}},
{"n":{"text":"Alexandre"},"position":{"text":"Dev web"}},
{"n":{"text":"Camille"},"position":{"text":"Graphiste"}}
];
var rows = [];
for (var i=0; i < hrdata.length; i++){
var row = {
'name' : { 'text' : hrdata[i].name },
'position' : { 'text' : hrdata[i].position }
};
rows.push(row);
};
$.listsection.setItems(rows);
我收到错误:
[ERROR] : The application has crashed with an uncaught exception 'NSUnknownKeyException'.
[ERROR] : Reason:
[ERROR] : [<NSConcreteValue 0x7a674520> valueForUndefinedKey:]: this class is not key value coding-compliant for the key text.
...
[ERROR] : 2015-12-16 09:13:44.686 hugoApp1[33611:1455573] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSConcreteValue 0x7a674520> valueForUndefinedKey:]: this class is not key value coding-compliant for the key text.'
...
我不知道我的错误是什么。
好的! 'NSUnknownKeyException' 实际上是指我的 JSON 的键:
var row = {
'name' : { 'text' : hrdata[i].name },
'position' : { 'text' : hrdata[i].position }
};
name
and/or position
与以前存在的参数冲突。您通过 $.listsection.setItems(rows)
提供的数据不会被推送到一个孤立的空 "custom data" 框中,而是在已经拥有一堆属性的预先存在的框中。因此,您必须 重命名 ./controllers/listview.js
和 ./views/listview.html
中的键 。
var row = {
'hrname' : { 'text' : hrdata[i].name },
'hrposition' : { 'text' : hrdata[i].position }
};
观看次数(部分):
<ItemTemplate name="template" id="template">
<Label bindId="hrname" id="title" />
<Label bindId="hrposition" id="subtitle" />
</ItemTemplate>
小巧,不像其他一些框架,但就是这样!
给定./views/listview.html 例如:
<Alloy>
<Window backgroundColor="white">
<ListView id="listView" defaultItemTemplate="template">
<Templates>
<ItemTemplate name="template" id="template">
<Label bindId="name" id="title" />
<Label bindId="position" id="subtitle" />
</ItemTemplate>
</Templates>
<ListSection id="listsection">
<ListItem template="template" class=""/>
</ListSection>
</ListView>
</Window>
</Alloy>
给定 ./controllers/listview.js 为 :
var hrdata = [
{"n":{"text":"Adrien"},"position":{"text":"Boss"}},
{"n":{"text":"Alexandre"},"position":{"text":"Dev web"}},
{"n":{"text":"Camille"},"position":{"text":"Graphiste"}}
];
var rows = [];
for (var i=0; i < hrdata.length; i++){
var row = {
'name' : { 'text' : hrdata[i].name },
'position' : { 'text' : hrdata[i].position }
};
rows.push(row);
};
$.listsection.setItems(rows);
我收到错误:
[ERROR] : The application has crashed with an uncaught exception 'NSUnknownKeyException'.
[ERROR] : Reason:
[ERROR] : [<NSConcreteValue 0x7a674520> valueForUndefinedKey:]: this class is not key value coding-compliant for the key text.
...
[ERROR] : 2015-12-16 09:13:44.686 hugoApp1[33611:1455573] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSConcreteValue 0x7a674520> valueForUndefinedKey:]: this class is not key value coding-compliant for the key text.'
...
我不知道我的错误是什么。
好的! 'NSUnknownKeyException' 实际上是指我的 JSON 的键:
var row = {
'name' : { 'text' : hrdata[i].name },
'position' : { 'text' : hrdata[i].position }
};
name
and/or position
与以前存在的参数冲突。您通过 $.listsection.setItems(rows)
提供的数据不会被推送到一个孤立的空 "custom data" 框中,而是在已经拥有一堆属性的预先存在的框中。因此,您必须 重命名 ./controllers/listview.js
和 ./views/listview.html
中的键 。
var row = {
'hrname' : { 'text' : hrdata[i].name },
'hrposition' : { 'text' : hrdata[i].position }
};
观看次数(部分):
<ItemTemplate name="template" id="template">
<Label bindId="hrname" id="title" />
<Label bindId="hrposition" id="subtitle" />
</ItemTemplate>
小巧,不像其他一些框架,但就是这样!