我期待执行两个不同的segue.
我有一个由"当前模态"输入的VC .从那个VC我有另一个segue(Push)通向TableView VC.
问题1
我希望能够在触摸一行后从表格视图返回到之前的VC.所以我的问题是我不知道使用什么类型的segue来返回一步但同时发送数据.
我有一个关闭按钮设置为"放松到VC",但这只是关闭我的VC.
问题2
从TableView我有另一个segue(推送)通向另一个TableView VC. - 您选择类别,然后选择子类别.我的问题是,我不知道如何返回一步或如何对从两个表视图控制器发送信息的VC1进行segue .
谢谢
我想把它NSDictionary存入NSUserDefaults.但是这样做会导致崩溃:
码:
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"response is %@",response);
NSLog(@"erros is %@",error);
NSDictionary* jsonDic = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
NSLog(@"json is %@",jsonDic);
[[NSUserDefaults standardUserDefaults]setObject:jsonDic forKey:@"LoginResult"];
[[NSUserDefaults standardUserDefaults]synchronize];
});
Run Code Online (Sandbox Code Playgroud)
调试:po jsonDic
{
email = "tejanvm92@gmail.com";
"first_name" = teja;
"last_name" = nvm;
phone = 54321456;
"profile_image" = "<null>";
role = User;
success = 1;
token = 0971994f904780d2c7532da0560c54ca;
type = "AUTH_SUCCESS";
}
Run Code Online (Sandbox Code Playgroud)
崩溃日志:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有两个struct数组,我想从其中一个中删除常用项.我的结构:
struct PeopleSelectItem {
var name = ""
var id = ""
var added = false
}
Run Code Online (Sandbox Code Playgroud)
我的阵列:
var people : [PeopleSelectItem] = []
var selectedPeople : [PeopleSelectItem] = []
Run Code Online (Sandbox Code Playgroud)
我想从people数组中删除项目(如果它们存在(通过id比较)在selectedPeople数组上).
我尝试了几个数组过滤和转换设置,但没有一个工作.我能在这做什么?
谢谢!
我使用联系人组创建了一个组,然后我想将联系人添加到该组中。
NSPredicate *predicate = [CNGroup predicateForGroupsWithIdentifiers:@[[[NSUserDefaults standardUserDefaults]objectForKey:@"groupIDentifier"]]];
NSArray *groups = [store groupsMatchingPredicate:predicate error:&saveError];
CNMutableContact *contact = [[CNMutableContact alloc] init];
contact.familyName = @"Doe";
contact.givenName = @"John";
CNLabeledValue *homePhone = [CNLabeledValue labeledValueWithLabel:CNLabelHome value:[CNPhoneNumber phoneNumberWithStringValue:@"312-555-1212"]];
contact.phoneNumbers = @[homePhone];
CNSaveRequest *request = [CNSaveRequest new];
CNGroup *group = [groups firstObject];
[request addContact:contact toContainerWithIdentifier:group.identifier];
if (![store executeSaveRequest:request error:&saveError]) {
NSLog(@"error = %@", saveError);
}
Run Code Online (Sandbox Code Playgroud)
错误是:
error = 错误域=CNErrorDomain Code=200“更新的记录不存在” UserInfo={CNInvalidRecordIdentifiers=(“45FFBB0D-C74B-4A14-8293-9099EA7DEF81:ABGroup”),NSLocalizedDescription=更新的记录不存在,NSLocalizedFailureReason=保存请求失败,因为它更新了不存在或已被删除的记录。}
我也尝试使用:
[request addMember:contact toGroup:[groups firstObject]];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,错误是:
error = Error Domain=CNErrorDomain Code=200 "Updated Record Does Not Exist" …Run Code Online (Sandbox Code Playgroud) 我试图UIView用手指画线,它用一种颜色很好.如果我尝试更改颜色并再次绘制,则之前的UIBezierPath颜色也会更改为新颜色.因此,我无法绘制不同的颜色线,保持前一个颜色线UIView
我将所有属性(path,linecolor)设置为非原子和强大的属性 UIView
以供参考:
选择颜色后,我在颜色选择器委托方法中更改了我的UIView的描边颜色:
#pragma mark - FCColorPickerViewControllerDelegate Methods
-(void)colorPickerViewController:(FCColorPickerViewController *)colorPicker didSelectColor:(UIColor *)color {
self.drawView.lineColor = color; //this works fine
// self.drawView.path=[UIBezierPath bezierPath]; tried this to create new bezier path with new color, but this erases the olde bezier path and return new
// [self.drawView.lineColor setStroke]; tried this
// [self.drawView.lineColor setFill]; tried this
[self dismissViewControllerAnimated:YES completion:nil]; //dismiss the color picker
}
Run Code Online (Sandbox Code Playgroud)
这是我的绘图方法:
- (id)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super initWithCoder:aDecoder]) …Run Code Online (Sandbox Code Playgroud) 我的应用程序中有以下代码
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:kArchivedUsername forKey:userID];
[defaults synchronize];
NSLog(@"saved: %@", [defaults stringForKey:kArchivedUsername]);
Run Code Online (Sandbox Code Playgroud)
但是,输出是这样的:
2016-04-07 15:50:44.560 BP (Test)[18357:464518] saved: (null)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么以及我能做些什么呢?