我正在使用tableview控制器和detailView进行简单的iOS应用程序.我想要的只是通过segue传递数据.

这就是它的样子.
我只想点击"Markíza"它将打开URL视频编号1,如果你点击"TV JOJ",它将在播放器中打开URL视频编号2.
我的tableview单元格:
struct Program {
let category : String
let name : String
}
var programy = [Program]()
self.programy = [Program(category: "Slovenské", name: "Markíza"),
Program(category: "Slovenské", name: "TV JOJ")]
Run Code Online (Sandbox Code Playgroud) 如何(not set)在GridView和ListView中删除或替换字符串?
我试图为我做一个最简单和最令人困惑的事情,直到现在我想开发自己的应用程序,为了做到这一点,我需要能够传递一些信息,具体取决于用户点击哪一行(它是Swift lenguage)
我们有一个RootViewController(表视图)和一个DetailViewController(带有1个标签和1个图像)

(我们的观点)
这是代码:
@IBOutlet weak var tableView: UITableView!
var vehicleData : [String] = ["Ferrari 458" , "Lamborghini Murcielago" , "Bugatti Veyron", "Mercedes Benz Biome"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var nib = UINib(nibName: "TableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "cell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return vehicleData.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:TableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") …Run Code Online (Sandbox Code Playgroud) 下面是我目前正在运行的代码.我有一个故事板设置与导航控制器和tableview控制器和视图控制器.我试图将我为表格设置的NSDictionary中的名称传递给详细视图控制器.我应该使用prepareforsegue或didselectrowatindexpath吗?我如何从字典中取出名称来传递它?
#import "FMInboxViewController.h"
#import "FMDetailViewController.h"
@interface FMInboxViewController ()
@end
@implementation FMInboxViewController
@synthesize keyArray;
@synthesize tableArray;
@synthesize tblDictionary;
@synthesize filteredArray;
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *ary=[[NSMutableArray alloc]init];
[ary addObject:@"Adam"];
[ary addObject:@"Fred"];
[ary addObject:@"Angel"];
// ... many similar entries
[ary addObject:@"James"];
[ary addObject:@"Mukthesh"];
self.tblDictionary =[self fillingDictionary:ary];
}
Run Code Online (Sandbox Code Playgroud)
表视图数据源
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return [keyArray count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in …Run Code Online (Sandbox Code Playgroud) objective-c uitableview didselectrowatindexpath ios detailview
所以,现在当我的DetailView子类没有使用PK(取自URL)找到对象时,我看到了404.html模板页面.我宁愿做的只是重定向到另一个URL.这是我的网址模式:
url(r'^(?P<pk>[0-9]+)/$', DeviceDetailView.as_view(
template_name='devices/detail.html',
queryset=Device.objects.all(),
context_object_name="device",
)),
url(r'^$', FullListView.as_view(template_name='devices/devices.html',)),
Run Code Online (Sandbox Code Playgroud)
所以,如果我的url看起来像/ devices/8 /,它使用8作为主键.当数据库中存在8时,工作得很好.但是,当8不存在时,它将转到404页面.我宁愿它做的是去一个列表 - 事实上,当最后一个url列出FullListView时(当url看起来像/ devices/nonnumericstuff /时会发生这种情况).
看起来应该很容易,不是吗?我不希望所有的404都去那里,所以我不能使用handler404.
尝试循环我的Django模板中的变量时,我收到以下错误.有问题的变量是我的DetailView子类中指定的模型的相关对象:
Type /在/ en/applicants/50771459778 /
'Householdmember'对象不可迭代
这是我的models.py档案:
class Applicant(models.Model):
user = models.ForeignKey(User, editable=False)
bank_card_number = models.CharField(_('Bank card number'),max_length=50, unique=True)
site_of_interview = models.IntegerField(_('Site of interview'), choices = SITE_CHOICES, default=TIRANA, blank=False)
housenumber = models.CharField(_('House Number'),max_length=8)
address_line1 = models.CharField(_('Address line 1'),max_length=50)
address_line2 = models.CharField(_('Apt #'),max_length=50,blank=True)
municipality = models.CharField(_('Municipality/commune'),max_length=25)
district = models.CharField(_('District'),max_length=25,blank=True)
urban = models.IntegerField(_('Area (urban/rural)'), choices = AREA_CHOICES, blank=False)
postal = models.CharField(_('Postal code'),max_length=25,blank=True)
class Householdmember(models.Model):
applicant = models.ForeignKey(Applicant)
first_name = models.CharField(_('First name'),max_length=50,blank=False)
middle_name = models.CharField(_('Middle name'),max_length=50,blank=True)
last_name = models.CharField(_('Last name'),max_length=50,blank=False)
national_id …Run Code Online (Sandbox Code Playgroud) 我有一个名为Play的表,我在Yii2详细视图小部件中显示每条记录的详细信息.我在该表中有一个属性recurring为tinyint 的属性,它可以是0或1.但我不想将其视为数字,而是我想显示yes或no基于值(0或1).
我正在尝试使用detailview小部件中的函数更改它,但我收到一个错误: Object of class Closure could not be converted to string
我的详细视图代码:
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'name',
'max_people_count',
'type',
[
'attribute' => 'recurring',
'format'=>'raw',
'value'=> function ($model) {
if($model->recurring == 1)
{
return 'yes';
}
else {
return 'no';
}
},
],
'day',
'time',
...
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激 !
我制作了一个模板来显示模型中的所有字段和值,它看起来像这样:
## detail_template.html ##
{% for name, value in object.get_fields %}
<p>
<label>{% trans name %}:</label>
<span>{{ value|default:"Not available" }}</span>
</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
在类中,您可以看到声明的 get_fields 函数:
## models.py ##
Class Object:
...many fields...
def get_fields(self):
return [(field.verbose_name, field._get_val_from_obj(self)) for field in self.__class__._meta.fields]
Run Code Online (Sandbox Code Playgroud)
问题是,例如,当我有一个带有选项的 CharField 时,例如:
## models.py ##
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
...all other fields ...
sex = models.CharField(verbose_name=u"Sex", max_length=1, choices=GENDER_CHOICES)
Run Code Online (Sandbox Code Playgroud)
它显示 M 或 F,我想要做的是加载所有字段的 get_NAMEFIELD_display 而无需手动执行所有字段:
<p>
<label>{% trans 'Sex' %}:</label>
<span>{{ object.get_sex_display|default:"Not available" …Run Code Online (Sandbox Code Playgroud) 我有一个带tabbarcontroller的故事板.标签栏之一有一个tableview,我希望当用户从tableview中点击一行时打开一个详细视图.问题是当我打开详细视图标签栏和导航栏隐藏时...在故事板中我创建了一个新视图控制器的详细视图,然后我创建了一个新文件并将其引用到详细视图类.
didselectrowatindexpath中的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
detalleYouTube *dvController = [[detalleYouTube alloc] init];
[self.navigationController pushViewController:dvController animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我想知道在 Swift 的 iPad 的主视图控制器中没有选择任何内容时,如何设置默认的细节视图控制器。
例如,如果应用程序只是在里面加载并且用户没有选择任何内容,则详细视图控制器将为ViewControllerDefault,如果用户选择主视图控制器中的任何行,则详细视图控制器将为ViewControllerResult。那么我如何在 Swift 中做到这一点呢?谢谢!
detailview ×10
django ×3
ios ×3
swift ×3
uitableview ×3
yii2 ×2
django-admin ×1
gridview ×1
iphone ×1
objective-c ×1
python-2.7 ×1
storyboard ×1
tableview ×1
templates ×1
view ×1