我试图用红色为某些表格着色,所以我尝试添加
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
... init Code here
cell.backgroundColor = [UIColor redColor];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
Run Code Online (Sandbox Code Playgroud)
附件Checkmark出现但不是红色.
后来我发现把它放在tableView:willDisplayCell中就可以了.这是设计的吗?为什么忽略我在初始化单元格时已经设置的值?
为什么 NSKeyedArchiver 性能这么差?与使用 NSArchiver 相比,大小翻了一番。
我正在使用以下行编码对象的 NSMutableArray
BOOL result = [NSArchiver archiveRootObject:self.appDataObject.materias toFile:archivePath];
Run Code Online (Sandbox Code Playgroud)
NSMutableArray 包含具有相应 encodeWithCoder 和 initWithCoder 的自定义对象
-(void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject: _fileName];
[aCoder encodeObject: _categoria];
[aCoder encodeObject: _materia];
[aCoder encodeObject: _nombre];
[aCoder encodeObject: _position];
[aCoder encodeValueOfObjCType:@encode(BOOL) at:&_favorite];
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
if (self=[super init]) {
[self setFileName:[aDecoder decodeObject]];
[self setCategoria:[aDecoder decodeObject]];
[self setMateria:[aDecoder decodeObject]];
[self setNombre:[aDecoder decodeObject]];
[self setPosition:[aDecoder decodeObject]];
[aDecoder decodeValueOfObjCType:@encode(BOOL) at:&_favorite];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,因为它正确保存了文件,然后我可以取消归档它。它们大约有 3000 个对象,输出文件大约为900kB
当我将归档行更改为:
BOOL result = [NSKeyedArchiver archiveRootObject:self.appDataObject.materias …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 sveltekit 应用程序从旧版本迁移到最新版本。会话已从 $app/stores 中删除。
我无法在当前文档中找到对新会话的引用。
我在 +layout.svelte 中使用此参考
<script lang="ts">
import { session } from '$app/stores';
</script>
Run Code Online (Sandbox Code Playgroud)
并从 hooks.ts 调用 GetSession:
import type { GetSession, Handle } from '@sveltejs/kit';
Run Code Online (Sandbox Code Playgroud)
引用它们的新方式是什么?
本.
我试图用以下行定义SKSpriteNode(或任何其他类型)类型的多维数组:
var _tiles:SKSpriteNode[][] = []
Run Code Online (Sandbox Code Playgroud)
但我得到了Swift警告:"现在使用括号围绕元素类型编写数组类型"
对于单维数组,可以这样做:
var _tiles:[SKSpriteNode] = []
Run Code Online (Sandbox Code Playgroud)
但它如何与多维度一起使用?
模块/IIFE 等有点麻烦。我有一个脚本,它曾经是一个 IIFE,并且使用了很多这个关键字等等。我正试图将它变成一个模块。
我有以下模块dice.js:
export default function () {
this.createDice = function() { ... }
...
}
Run Code Online (Sandbox Code Playgroud)
在主应用程序上,我称之为:
import Dice from "./dice.js";
let DICE = new Dice();
let dice1 = DICE.createDice();
let dice2 = DICE.createDice();
Run Code Online (Sandbox Code Playgroud)
它有效......我的问题是,有没有办法避免创建额外的 DICE 变量来调用所有方法?换句话说,我想这样称呼它:
import Dice from "./dice.js";
let dice1 = Dice.createDice();
let dice2 = Dice.createDice();
Run Code Online (Sandbox Code Playgroud)
我已经尝试过 IIFE,但无法解决问题。
cocoa-touch ×2
ios ×2
arrays ×1
es6-modules ×1
iife ×1
iphone ×1
javascript ×1
objective-c ×1
session ×1
sveltekit ×1
swift ×1
uitableview ×1