我正在尝试创建一个包含 1 列的 collectionView
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
Run Code Online (Sandbox Code Playgroud)
但这没有用。主要问题是我的单元格大小动态变化。那么我可以将列限制为1吗?我需要按行加载单元格,而不是按列加载。
我正在为iOS应用程序实现文件记录器.记录器是一个单例,它有一个成员变量dispatch_queue_t _queue
负责将日志输出到文件,这样它可以确保线程安全,并且在写入日志时不会阻塞主线程或其他线程.
由于block
没有参数,所以我不能va_start
在块内做.在那种情况下,我必须message
在块外面初始化.我对iOS中的块很新,不知道我应该在哪里发布message
(at (1)
或者(2)
,为什么?)
谢谢!
- (void)log:(NSString *)format, ...
{
va_list args;
va_start(args, format);
NSString *message = [[NSString alloc] initWithFormat:format arguments:args];
dispatch_async(_queue, ^{
// output `message` to file
// (1) release here?
[message release];
});
// (2) or release here?
[message release];
va_end(args);
}
Run Code Online (Sandbox Code Playgroud)