我有点卡住试图.self在swift中理解,总是我在collectionView或tableView中注册一个自定义单元格我必须注册,customCollectionViewCell.self但为什么不是例如customCollectionViewCell()?
我已经在操场上尝试输入String.selfvar以查看发生了什么并且它没有给我任何错误但是当我尝试给它一个值时它会给我以下错误
无法为类型指定"String"类型的值
String.Type
这是什么意思?
我有一个UITableview具有独特单元格的单元格,每个单元格都有自己的类,并且它们具有我想要连接到主体的动作UITableviewcontroller
我附加一个协议并在tableviewcontroller中打开它但它没有被读取
我怎么能初始化它或我做错了什么?
这是我的细胞类:
import UIKit
class AddFaxHeadlineTableViewCell: UITableViewCell {
var delegate: AddFaxHeadlineProtocol?
@IBOutlet weak var addButton: UIButton!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func onAddFaxNumberPressed(_ sender: Any) {
delegate?.faxButtonPressed()
}
}
protocol AddFaxHeadlineProtocol{
func faxButtonPressed()
}
Run Code Online (Sandbox Code Playgroud)
在我的tableviewcontroller中我扩展了协议:
class SummaryMainTableViewController: UITableViewController, AddFaxHeadlineProtocol, AddEmailHeadlineProtocol {
Run Code Online (Sandbox Code Playgroud)
但函数本身永远不会被读取:
func faxButtonPressed() {
var indexToInsert = 0
for …Run Code Online (Sandbox Code Playgroud) 有没有出路..,我可以在视图中创建一个UITableView,它不会掩盖整个屏幕...例如:
我希望屏幕的前半部分是UITextView,我的屏幕的下半部分是UITableView ..在此先感谢
所以我有一个带有表视图的UIViewController.我做了这个没有故事板.
在这个viewController中我有一个HTTPResponse方法,我创建tableview并为其分配委托和数据源.
- (void)APIDownload:(APIDownload*)request {
CJSONDeserializer *deserializer = [CJSONDeserializer deserializer];
NSError *error = nil;
NSDictionary *data = [deserializer deserializeAsDictionary :request.downloadData error:&error];
if (error) {
[[iToast makeText:@"serious error"] show];
} else {
if (data && data[@"status"] && [data[@"status"] isEqual:@"ok"]) {
self.categoriesArray = data[@"data"];
self.rootTable = [[UITableView alloc] initWithFrame:self.slideContainer.frame
style:UITableViewStylePlain];
self.rootTable.delegate = self;
self.rootTable.dataSource = self.categoriesArray;
[self.slideContainer addSubview:self.rootTable];
[self.rootTable reloadData];
[self.rootTable setHidden:NO];
} else {
[[iToast makeText:[NSString stringWithFormat:@"%@", data[@"data"][@"message"]]] show];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经为uitableviewdelegate和uitableviewdatasource实现了所有四种必要的方法,但仍然得到了
2015-07-27 12:57:29.073 xxx[10663:602881] -[__NSCFArray tableView:numberOfRowsInSection:]: unrecognized selector sent …Run Code Online (Sandbox Code Playgroud) 当我点击图片下方屏幕右侧的3个点时,我正在努力实现类似Instagram的功能.这是点击点之前的样子:
以下是它的样子:
显然我的滚动图片是一个UITableView,但我的问题是,当我点击3个点并且它带有一个选项列表的第二个视图时,这是另一个UITableView,还是你认为他们只是提出一个UIView的?
在这样的场景中使用的最佳选择是什么?
我的prepareForSegue电话问题一直存在.每当我尝试segue到下一个视图控制器.它会在我将tripLikes传递给下一个视图控制器时出现错误并崩溃.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "toDetailScene") {
//Hooking up places-holder values
let viewController = segue.destinationViewController as! DetailViewController
let cell = sender as! CustomPFTableViewCell
viewController.tripName = cell.nameTextLabel.text!
viewController.tripAuthor = cell.authorTextLabel.text!
viewController.tripLikes = Int(cell.numLikes.text!)!
viewController.tripDescrip = cell.descriptionHolder
}
}
Run Code Online (Sandbox Code Playgroud)
我们传递给的每个值都是目标视图控制器中的值.
我正在尝试对 TableView 的行进行编号,以便每个单元格使用 Swift 显示其编号。
例如:第一个单元格显示 1,第二个单元格显示 2,依此类推...

我有一个包含2个部分的tableView,sections数组用2个元素固定.这些部分的标题显示正常,因为下面的代码显示在Xcode 7中.我刚刚升级到Xcode 8,并且部分标题不再显示,下面的代码不再被调用.
有任何想法吗?
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 18)];
/* Create custom view to display section header... */
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, tableView.frame.size.width, 18)];
[label setFont:[UIFont boldSystemFontOfSize:16]];
NSString *date =[sections objectAtIndex:section];
/* Section header is in 0th index... */
[label setText:date];
[view addSubview:label];
[view setBackgroundColor:[DeviceHelper Orange]]; //[UIColor colorWithRed:166/255.0 green:177/255.0 blue:186/255.0 alpha:1.0]]; //your background color...
return view;
}
Run Code Online (Sandbox Code Playgroud) 场景:我有一个表格视图和一个自定义按钮单元。在单元格的控制器中,我已委托一个函数调用MainController的函数。问题是我的单元格按钮动作正在触发,但删除功能却未触发。
CustomCell控制器:
import UIKit
protocol CustChatButtonDelegate: class {
func chatActionClick(cell: CustButtonCell)
}
class CustButtonCell: UITableViewCell {
var delegete:CustChatButtonDelegate?
@IBOutlet weak var btnChat: UIButton!
override func prepareForReuse() {
super.prepareForReuse()
// self.delegete=nil
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func btnChatActionClick(_ sender: Any) {
print("btn click")
self.delegete?.chatActionClick(cell: self)
}
}
Run Code Online (Sandbox Code Playgroud)
主控制器:
import UIKit
class ChatController: UIViewController ,UITableViewDelegate, UITableViewDataSource, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码创建可扩展的UITableViewCells:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let cell = tableView.cellForRow(at: indexPath) as! feedBaseCell
if cell.expandButton.isExpanded == true {
return 128
} else {
return 64
}
return 64
}
Run Code Online (Sandbox Code Playgroud)
.isExpanded是feedBaseCell的自定义属性.当我运行此代码时,该行let cell = tableView.cellForRow(at: indexPath) as! feedBaseCell会出现EXC_BAD_ACCESS错误.如何根据.isExpanded属性是真还是假来检查属性并返回高度?为什么我的代码不起作用?
编辑:两者的代码cellForRowAt和numberOfRowsInSection:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "feedBaseCell") as! …Run Code Online (Sandbox Code Playgroud) uitableview ×10
ios ×7
swift ×7
objective-c ×3
iphone ×2
arrays ×1
casting ×1
custom-cell ×1
swift2 ×1
swift3 ×1
xcode ×1