我使用常规模式实现了单例对象.我的问题是:是否可以将此对象设置为nil,以便在以后调用[MySingleton sharedInstance]时对象被重新初始化?
// Get the shared instance and create it if necessary.
+ (MySingleton *)sharedInstance {
static dispatch_once_t pred;
static MySingleton *shared = nil;
dispatch_once(&pred, ^{
shared = [[MySingleton alloc] init];
});
return shared;
}
// We can still have a regular init method, that will get called the first time the Singleton is used.
- (id)init
{
self = [super init];
if (self) {
// Work your initialising magic here as you normally would
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是 …
我认为我的问题与线程有关.我有一个带有两个UITextFields(用户/通行证)的登录屏幕.两者都与占位符文本水平居中对齐.当我按下一个字段时,占位符文本会向左跳一点,标记位于第一个字符后面(看起来很糟糕).
.
当我开始输入时,出现清除按钮(应该如此),但文本未在UITextField视图中正确居中.
仅当文本字段具有第一响应者时才会出现此问题.
如何使darn文本和占位符文本保持在文本字段的中心?
更新:Storyboard中的文本字段设置:

我想在同一视图中创建一个包含子/相关对象的父对象.一个例子是:创建一个父亲(带有一些名字)以及他所有的儿子(带有他们的名字).我创建了一个视图模型:
public class FatherViewModel {
public Father father {get; set;} // has 1 property Name
public List<Son> {get; set;} // has 1 property Name
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在发布帖子时从视图中获取Sons列表?我已尝试为每个Son id使用HiddenFor,但无论如何,当返回到控制器时列表为空.
更新:
我尝试了下面描述的Shyju的编辑模板示例,但我的编辑器从未被调用过.我有1个对象:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int? FatherId { get; set; }
public virtual ICollection<Person> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我这样做了:
创建Person.cshtml:
@model TestEditorTemplate.Models.Person
<div>
<h4>Child</h4>
@Html.TextBoxFor(s => s.Name)
@Html.HiddenFor(s => s.Id)
</div>
添加 …
ios ×2
alignment ×1
asp.net-mvc ×1
null ×1
placeholder ×1
singleton ×1
uitextfield ×1
viewmodel ×1