我想知道在java中是否有可能有一个实现Runnable的类,如果该类的对象进入wait()(所以线程停止运行直到它收到一个信号),同一个类的另一个对象可以通知它继续跑步?
理想情况下,我希望能够做到的是:
public class ThreadClass implements Runnable{
public void run(){
//.. Does some arbitrary work
if( aCondition){ //have it wait until something signals it to contine exection.
this.wait();
}
//Continues to do more work.
//finished whatever it needed to do. Signal all other threads of this object type to continue their work.
this.notifyAll();
}
}
Run Code Online (Sandbox Code Playgroud)
这是可能的,如果是这样,我该怎么做呢?我试图使它成为对象本身可以管理自己和所有其他相同类型的对象.所以没有人使用这个类必须担心管理它.
在研究和试图弄清楚如何解决以下问题时,我已经在键盘上打了3天以上.
我有一个看起来像这样的故事板:
初始应用程序启动箭头 - >到导航控制器 - >到主视图控制器.
我的appDelegate正在创建managedObjectContext,它用数据填充一些实体(仅用于测试目的,一旦我准备好与外部源集成,它将被删除).这工作很好.现在我的问题是我不知道我如何将MOC从appDelegate传递到我的第一个ViewController,因为导航控制器挡住了.我在appDidFinish方法中的当前代码如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Pass the managed object context to the root view controller
MainMenuViewController *rootView = (MainMenuViewController *)self.window.rootViewController;
rootView.managedObjectContext = self.managedObjectContext;
//My actual Core data setup and adding data to it, it works I've tested it.
return YES;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我将故事板中的应用程序启动箭头指向我的mainMenuViewController时,我的代码可以正常工作,但是我的所有视图中都丢失了导航栏.我也知道如何将MOC从我的mainMenu传递到另一个视图,- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender但我似乎无法弄清楚如何从appDelegate到MainViewController进行初始传递,因为两个导航控制器位于两者之间.
我已经在这个网站(和其他人)上搜索了很多线程,我只找到了"选项卡式应用程序"的解决方案,其他人希望我序列化该对象,但出于我的目的,我不能这样做.(只有少数视图会收到MOC,而其他视图会传递一个视图创建和更改的数据,以便在独特视图中针对特定目的进行定制)
非常感谢iOS和Objective-C对此nub的任何帮助.先感谢您.
编辑:我得到的错误是"由于未捕获的异常终止应用程序... [UINavigationController setManagedObjectContext]无法识别的选择器发送到实例...
我正在为我的ios应用程序使用Core Data,我想知道如何从实体表中检索整个列?例如,我非常有兴趣从我的表中获取主键.
在sql我只会从MYTABLE中选择名称.
我的代码没有向我的集添加元素.
我的头文件如下:
#import <UIKit/UIKit.h>
@interface NHPSearchViewController : UITableViewController
//For using the local DB
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
//texst field where user enters a substance name or a drug name
@property (weak, nonatomic) IBOutlet UITextField *substanceTextField;
//An array for Drug Names, and another array for NHPs
@property (strong, nonatomic) NSMutableSet *drugList;
@property (strong, nonatomic) NSMutableSet *NHPList;
//Contains both drugList and NHP list as one array for the data to be shown for the user.
@property (strong, nonatomic) NSMutableSet *usersList;
@end …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的应用创建"设置"表格视图.我试图模仿它与Iphone上的gneral设置相同的风格.我通过继承UITableCell创建了自己的自定义单元类.我给了它适当的IBOulets,我把它们挂在故事板上.我也把开关连接到我的tableViewControler,但由于某种原因,我的代码只返回一个空单元格(只有一个单元格不是问题atm,因为我在我的设置中都有).我三重检查并确保我在我的代码和故事板中使用相同的单元格标识符.任何人都知道为什么我要回一个空白的单元格?
这是我的自定义单元格的.h文件.
@interface NHPSettingsCell : UITableViewCell
@property (nonatomic,weak) IBOutlet UILabel *settingLabel;
@property (nonatomic,strong) IBOutlet UISwitch *settingSwitch;
@end
Run Code Online (Sandbox Code Playgroud)
我的问题代码在这里,我的自定义单元格的.h文件:
#import "NHPSettingsCell.h"
@implementation NHPSettingsCell
@synthesize settingLabel, settingSwitch;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
Run Code Online (Sandbox Code Playgroud)
我在自定义视图控制器中绘制单元格的方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"SettingsCell";
NHPSettingsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; …Run Code Online (Sandbox Code Playgroud) ios ×4
colors ×1
core-data ×1
delegates ×1
java ×1
moc ×1
notify ×1
nsmutableset ×1
objective-c ×1
primary-key ×1
runnable ×1
static ×1
storyboard ×1
uitableview ×1
vim ×1
wait ×1