Skip to content
Browse files

Первый коммит.

  • Loading branch information...
1 parent 7bebca4 commit 23c0855295ea0925cdf15aa5889b18890245bb1d Artem V. Zaborskiy committed
View
75 iCardMe.xcodeproj/project.pbxproj
@@ -7,6 +7,9 @@
objects = {
/* Begin PBXBuildFile section */
+ E0AADC8A1518A82600DA463B /* Journal.m in Sources */ = {isa = PBXBuildFile; fileRef = E0AADC891518A82600DA463B /* Journal.m */; };
+ E0AADC8D1518A82600DA463B /* Person.m in Sources */ = {isa = PBXBuildFile; fileRef = E0AADC8C1518A82600DA463B /* Person.m */; };
+ E0AADC8F1518A82600DA463B /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = E0AADC8E1518A82600DA463B /* Card.m */; };
E0BED81915137C750038666A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0BED81815137C750038666A /* UIKit.framework */; };
E0BED81B15137C750038666A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0BED81A15137C750038666A /* Foundation.framework */; };
E0BED81D15137C750038666A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0BED81C15137C750038666A /* CoreGraphics.framework */; };
@@ -15,21 +18,35 @@
E0BED82715137C750038666A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E0BED82615137C750038666A /* main.m */; };
E0BED82B15137C750038666A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E0BED82A15137C750038666A /* AppDelegate.m */; };
E0BED82E15137C750038666A /* iCardMe.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = E0BED82C15137C750038666A /* iCardMe.xcdatamodeld */; };
+ E0BED83715137EAC0038666A /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E0BED83615137EAC0038666A /* MainStoryboard.storyboard */; };
+ E0BED83D15137FA30038666A /* UIListCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E0BED83C15137FA30038666A /* UIListCardViewController.m */; };
+ E0C193011518D1F4008C4F00 /* UIAddCardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E0C193001518D1F4008C4F00 /* UIAddCardViewController.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ E0AADC881518A82600DA463B /* Journal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Journal.h; sourceTree = "<group>"; };
+ E0AADC891518A82600DA463B /* Journal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Journal.m; sourceTree = "<group>"; };
+ E0AADC8B1518A82600DA463B /* Person.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Person.h; sourceTree = "<group>"; };
+ E0AADC8C1518A82600DA463B /* Person.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Person.m; sourceTree = "<group>"; };
+ E0AADC8E1518A82600DA463B /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
+ E0AADC901518AA0400DA463B /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
E0BED81415137C750038666A /* iCardMe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iCardMe.app; sourceTree = BUILT_PRODUCTS_DIR; };
E0BED81815137C750038666A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
E0BED81A15137C750038666A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
E0BED81C15137C750038666A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
E0BED81E15137C750038666A /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
- E0BED82215137C750038666A /* iCardMe-Info.plist */ = {isa = PBXFileReference; path = "iCardMe-Info.plist"; sourceTree = "<group>"; };
+ E0BED82215137C750038666A /* iCardMe-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iCardMe-Info.plist"; sourceTree = "<group>"; };
E0BED82415137C750038666A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
E0BED82615137C750038666A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
- E0BED82815137C750038666A /* iCardMe-Prefix.pch */ = {isa = PBXFileReference; path = "iCardMe-Prefix.pch"; sourceTree = "<group>"; };
- E0BED82915137C750038666A /* AppDelegate.h */ = {isa = PBXFileReference; path = AppDelegate.h; sourceTree = "<group>"; };
+ E0BED82815137C750038666A /* iCardMe-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iCardMe-Prefix.pch"; sourceTree = "<group>"; };
+ E0BED82915137C750038666A /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
E0BED82A15137C750038666A /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
E0BED82D15137C750038666A /* iCardMe.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = iCardMe.xcdatamodel; sourceTree = "<group>"; };
+ E0BED83615137EAC0038666A /* MainStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard.storyboard; sourceTree = "<group>"; };
+ E0BED83B15137FA30038666A /* UIListCardViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIListCardViewController.h; sourceTree = "<group>"; };
+ E0BED83C15137FA30038666A /* UIListCardViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIListCardViewController.m; sourceTree = "<group>"; };
+ E0C192FF1518D1F4008C4F00 /* UIAddCardViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIAddCardViewController.h; sourceTree = "<group>"; };
+ E0C193001518D1F4008C4F00 /* UIAddCardViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAddCardViewController.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -78,9 +95,11 @@
E0BED82015137C750038666A /* iCardMe */ = {
isa = PBXGroup;
children = (
+ E0BED83915137F0A0038666A /* Card */,
+ E0BED83815137EC70038666A /* Model */,
+ E0BED83615137EAC0038666A /* MainStoryboard.storyboard */,
E0BED82915137C750038666A /* AppDelegate.h */,
E0BED82A15137C750038666A /* AppDelegate.m */,
- E0BED82C15137C750038666A /* iCardMe.xcdatamodeld */,
E0BED82115137C750038666A /* Supporting Files */,
);
path = iCardMe;
@@ -97,6 +116,47 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ E0BED83815137EC70038666A /* Model */ = {
+ isa = PBXGroup;
+ children = (
+ E0AADC901518AA0400DA463B /* Card.h */,
+ E0BED82C15137C750038666A /* iCardMe.xcdatamodeld */,
+ E0AADC8E1518A82600DA463B /* Card.m */,
+ E0AADC8B1518A82600DA463B /* Person.h */,
+ E0AADC8C1518A82600DA463B /* Person.m */,
+ E0AADC881518A82600DA463B /* Journal.h */,
+ E0AADC891518A82600DA463B /* Journal.m */,
+ );
+ name = Model;
+ sourceTree = "<group>";
+ };
+ E0BED83915137F0A0038666A /* Card */ = {
+ isa = PBXGroup;
+ children = (
+ E0BED8471513921D0038666A /* Add */,
+ E0BED83A15137F140038666A /* List */,
+ );
+ name = Card;
+ sourceTree = "<group>";
+ };
+ E0BED83A15137F140038666A /* List */ = {
+ isa = PBXGroup;
+ children = (
+ E0BED83B15137FA30038666A /* UIListCardViewController.h */,
+ E0BED83C15137FA30038666A /* UIListCardViewController.m */,
+ );
+ name = List;
+ sourceTree = "<group>";
+ };
+ E0BED8471513921D0038666A /* Add */ = {
+ isa = PBXGroup;
+ children = (
+ E0C192FF1518D1F4008C4F00 /* UIAddCardViewController.h */,
+ E0C193001518D1F4008C4F00 /* UIAddCardViewController.m */,
+ );
+ name = Add;
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -148,6 +208,7 @@
buildActionMask = 2147483647;
files = (
E0BED82515137C750038666A /* InfoPlist.strings in Resources */,
+ E0BED83715137EAC0038666A /* MainStoryboard.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -161,6 +222,11 @@
E0BED82715137C750038666A /* main.m in Sources */,
E0BED82B15137C750038666A /* AppDelegate.m in Sources */,
E0BED82E15137C750038666A /* iCardMe.xcdatamodeld in Sources */,
+ E0BED83D15137FA30038666A /* UIListCardViewController.m in Sources */,
+ E0AADC8A1518A82600DA463B /* Journal.m in Sources */,
+ E0AADC8D1518A82600DA463B /* Person.m in Sources */,
+ E0AADC8F1518A82600DA463B /* Card.m in Sources */,
+ E0C193011518D1F4008C4F00 /* UIAddCardViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -264,6 +330,7 @@
E0BED83315137C750038666A /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
View
9 iCardMe/AppDelegate.m
@@ -7,6 +7,7 @@
//
#import "AppDelegate.h"
+#import "UIListCardViewController.h"
@implementation AppDelegate
@@ -17,10 +18,10 @@ @implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- // Override point for customization after application launch.
- self.window.backgroundColor = [UIColor whiteColor];
- [self.window makeKeyAndVisible];
+// self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
+// // Override point for customization after application launch.
+// self.window.backgroundColor = [UIColor whiteColor];
+//
return YES;
}
View
29 iCardMe/Card.h
@@ -0,0 +1,29 @@
+//
+// Card.h
+// iCardMe
+//
+// Created by on 16.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreData/CoreData.h>
+
+@class Journal;
+
+@interface Card : NSManagedObject
+
+@property (nonatomic, retain) NSNumber * active;
+@property (nonatomic, retain) NSString * number;
+@property (nonatomic, retain) NSManagedObject *person;
+@property (nonatomic, retain) NSSet *journal;
+@end
+
+@interface Card (CoreDataGeneratedAccessors)
+
+- (void)addJournalObject:(Journal *)value;
+- (void)removeJournalObject:(Journal *)value;
+- (void)addJournal:(NSSet *)values;
+- (void)removeJournal:(NSSet *)values;
+
+@end
View
21 iCardMe/Card.m
@@ -0,0 +1,21 @@
+//
+// Card.m
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "Card.h"
+#import "Journal.h"
+#import "Person.h"
+
+
+@implementation Card
+
+@dynamic active;
+@dynamic number;
+@dynamic journal;
+@dynamic person;
+
+@end
View
33 iCardMe/Journal.h
@@ -0,0 +1,33 @@
+//
+// Journal.h
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreData/CoreData.h>
+
+@class Card, Person;
+
+@interface Journal : NSManagedObject
+
+@property (nonatomic, retain) NSDate * dateTime;
+@property (nonatomic, retain) NSSet *card;
+@property (nonatomic, retain) NSSet *person;
+@end
+
+@interface Journal (CoreDataGeneratedAccessors)
+
+- (void)addCardObject:(Card *)value;
+- (void)removeCardObject:(Card *)value;
+- (void)addCard:(NSSet *)values;
+- (void)removeCard:(NSSet *)values;
+
+- (void)addPersonObject:(Person *)value;
+- (void)removePersonObject:(Person *)value;
+- (void)addPerson:(NSSet *)values;
+- (void)removePerson:(NSSet *)values;
+
+@end
View
20 iCardMe/Journal.m
@@ -0,0 +1,20 @@
+//
+// Journal.m
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "Journal.h"
+#import "Card.h"
+#import "Person.h"
+
+
+@implementation Journal
+
+@dynamic dateTime;
+@dynamic card;
+@dynamic person;
+
+@end
View
550 iCardMe/MainStoryboard.storyboard
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1938" systemVersion="11D50b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="jgT-Yv-gAf">
+ <dependencies>
+ <development defaultVersion="4200" identifier="xcode"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="933"/>
+ </dependencies>
+ <scenes>
+ <scene sceneID="v1J-xh-OGb">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="7ad-ft-GL5" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <tabBarController definesPresentationContext="YES" id="jgT-Yv-gAf" sceneMemberID="viewController">
+ <nil key="simulatedBottomBarMetrics"/>
+ <tabBar key="tabBar" contentMode="scaleToFill" id="PfB-8v-sno">
+ <rect key="frame" x="129" y="330" width="163" height="49"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </tabBar>
+ <connections>
+ <segue destination="ATg-i9-8P1" kind="relationship" relationship="viewControllers" id="NAf-ck-Ru0"/>
+ <segue destination="GMR-2F-ouH" kind="relationship" relationship="viewControllers" id="2Ge-Iq-bfw"/>
+ </connections>
+ </tabBarController>
+ </objects>
+ <point key="canvasLocation" x="139" y="197"/>
+ </scene>
+ <scene sceneID="g9E-ia-tjW">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="iYl-vx-Bpw" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <navigationController definesPresentationContext="YES" id="ATg-i9-8P1" sceneMemberID="viewController">
+ <tabBarItem key="tabBarItem" title="Персоны" id="UBm-kE-bm1"/>
+ <simulatedTabBarMetrics key="simulatedBottomBarMetrics"/>
+ <navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="E4k-L5-JV0">
+ <autoresizingMask key="autoresizingMask"/>
+ </navigationBar>
+ <connections>
+ <segue destination="jRj-wn-cul" kind="relationship" relationship="rootViewController" id="aes-lm-KNj"/>
+ </connections>
+ </navigationController>
+ </objects>
+ <point key="canvasLocation" x="673" y="-454"/>
+ </scene>
+ <scene sceneID="a1k-nv-Po1">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="7IB-iu-Z7Y" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <viewController id="U89-H8-D3g" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="ASR-C6-dEC">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="gIQ-CT-Vep">
+ <rect key="frame" x="0.0" y="0.0" width="320" height="376"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ <prototypes>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cellLastName" id="jgU-Hi-8HB">
+ <rect key="frame" x="0.0" y="46" width="320" height="45"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Фамилия" minimumFontSize="17" id="OKi-aa-CU9">
+ <rect key="frame" x="106" y="7" width="174" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits" keyboardAppearance="alert"/>
+ </textField>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Фамилия:" lineBreakMode="tailTruncation" minimumFontSize="10" id="pwa-TI-CP2">
+ <rect key="frame" x="20" y="10" width="87" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cellFirstName" id="9hj-Gb-VMV">
+ <rect key="frame" x="0.0" y="91" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Имя" minimumFontSize="17" id="V0Z-98-oJg">
+ <rect key="frame" x="107" y="6" width="173" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits" keyboardAppearance="alert"/>
+ </textField>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Имя:" lineBreakMode="tailTruncation" minimumFontSize="10" id="Yhk-fw-v2s">
+ <rect key="frame" x="20" y="11" width="87" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cellMiddleName" id="gaR-nk-sh5">
+ <rect key="frame" x="0.0" y="135" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Отчество" minimumFontSize="17" id="79y-yu-vPs">
+ <rect key="frame" x="107" y="6" width="173" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits"/>
+ </textField>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Отчество:" lineBreakMode="tailTruncation" minimumFontSize="10" id="ESu-MD-keg">
+ <rect key="frame" x="20" y="11" width="87" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cellAge" id="ojY-OX-Dkt">
+ <rect key="frame" x="0.0" y="179" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Лет" minimumFontSize="17" id="2qq-dR-mHr">
+ <rect key="frame" x="107" y="6" width="64" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits" autocapitalizationType="sentences" keyboardAppearance="alert"/>
+ </textField>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Лет:" lineBreakMode="tailTruncation" minimumFontSize="10" id="c2o-gC-CsQ">
+ <rect key="frame" x="20" y="9" width="87" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cellCard" id="Fri-rG-Iwu">
+ <rect key="frame" x="0.0" y="223" width="320" height="45"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="280" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Карточка:" lineBreakMode="tailTruncation" minimumFontSize="10" id="icW-cc-q4G">
+ <rect key="frame" x="20" y="0.0" width="87" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Карточка" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="P3w-Up-5Pe">
+ <rect key="frame" x="20" y="20" width="260" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <connections>
+ <segue destination="G3q-9u-a5p" kind="push" id="DNH-5D-UOa"/>
+ </connections>
+ </tableViewCell>
+ </prototypes>
+ </tableView>
+ </subviews>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ </view>
+ <navigationItem key="navigationItem" title="Новая" id="l2U-9r-WP6">
+ <barButtonItem key="leftBarButtonItem" title="Отмена" id="YAt-nO-AyD"/>
+ <barButtonItem key="rightBarButtonItem" title="Сохранить" id="SEV-HD-kwB"/>
+ </navigationItem>
+ </viewController>
+ </objects>
+ <point key="canvasLocation" x="1723" y="-769"/>
+ </scene>
+ <scene sceneID="6hV-gq-Usu">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="j4X-Yu-ovP" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <viewController id="G3q-9u-a5p" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="WPD-ih-7Qg">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="singleLineEtched" allowsMultipleSelection="YES" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="vMk-V0-IZG">
+ <rect key="frame" x="0.0" y="0.0" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ <prototypes>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" id="kyj-BN-a01">
+ <rect key="frame" x="0.0" y="46" width="320" height="46"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Номер" lineBreakMode="tailTruncation" minimumFontSize="10" id="rr1-D3-jUd">
+ <rect key="frame" x="20" y="11" width="260" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ </tableViewCell>
+ </prototypes>
+ </tableView>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ </view>
+ <navigationItem key="navigationItem" title=" Карточки" id="eKb-Ko-yzg"/>
+ </viewController>
+ </objects>
+ <point key="canvasLocation" x="2211" y="-769"/>
+ </scene>
+ <scene sceneID="t12-z8-wh1">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="bw1-E7-lTc" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <tableViewController id="jRj-wn-cul" sceneMemberID="viewController">
+ <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="ChM-Wf-kZ7">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <prototypes>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="CellPerson" id="eF7-X4-Hos">
+ <rect key="frame" x="0.0" y="22" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="0.0" y="0.0" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Заголовок" lineBreakMode="tailTruncation" minimumFontSize="10" id="4u4-v0-xwZ">
+ <rect key="frame" x="26" y="1" width="274" height="22"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="21"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Заголовок" lineBreakMode="tailTruncation" minimumFontSize="8" id="pcQ-4e-g1R">
+ <rect key="frame" x="26" y="20" width="274" height="22"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="16"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <connections>
+ <segue destination="q5K-ew-Ctv" kind="push" id="bEn-N8-9YX"/>
+ </connections>
+ </tableViewCell>
+ </prototypes>
+ <connections>
+ <outlet property="dataSource" destination="jRj-wn-cul" id="16f-Ak-Xya"/>
+ <outlet property="delegate" destination="jRj-wn-cul" id="GVM-ZN-2Wa"/>
+ </connections>
+ </tableView>
+ <navigationItem key="navigationItem" title="Список" id="owO-Nw-y5E">
+ <barButtonItem key="leftBarButtonItem" systemItem="edit" id="Qrw-ag-ev3"/>
+ <barButtonItem key="rightBarButtonItem" systemItem="add" id="Gd8-NZ-6zv">
+ <connections>
+ <segue destination="U89-H8-D3g" kind="push" id="QUU-fZ-3VB"/>
+ </connections>
+ </barButtonItem>
+ </navigationItem>
+ </tableViewController>
+ </objects>
+ <point key="canvasLocation" x="1185" y="-454"/>
+ </scene>
+ <scene sceneID="p8x-p3-QQy">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="1oP-UZ-Lmf" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <viewController id="q5K-ew-Ctv" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="FvO-GO-xMk">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ </view>
+ <navigationItem key="navigationItem" title="Свойства" id="ub4-0X-vqK">
+ <barButtonItem key="rightBarButtonItem" systemItem="trash" id="OJy-kL-Qda"/>
+ </navigationItem>
+ </viewController>
+ </objects>
+ <point key="canvasLocation" x="1723" y="-148"/>
+ </scene>
+ <scene sceneID="taM-7H-pni">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="VVt-bZ-9Mz" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <navigationController definesPresentationContext="YES" id="GMR-2F-ouH" sceneMemberID="viewController">
+ <tabBarItem key="tabBarItem" title="Карточки" id="fDI-lU-XQg"/>
+ <simulatedTabBarMetrics key="simulatedBottomBarMetrics"/>
+ <navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="uf9-Hb-f6Y">
+ <autoresizingMask key="autoresizingMask"/>
+ </navigationBar>
+ <connections>
+ <segue destination="fzB-vC-28S" kind="relationship" relationship="rootViewController" id="A8Q-EO-bga"/>
+ </connections>
+ </navigationController>
+ </objects>
+ <point key="canvasLocation" x="673" y="870"/>
+ </scene>
+ <scene sceneID="V62-Vd-3Ph">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="LH5-xe-VD3" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <tableViewController id="fzB-vC-28S" customClass="UIListCardViewController" sceneMemberID="viewController">
+ <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="bFn-eG-XJt">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <prototypes>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" id="xF6-zM-HMq">
+ <rect key="frame" x="0.0" y="22" width="320" height="44"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="0.0" y="0.0" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Заголовок" lineBreakMode="tailTruncation" minimumFontSize="10" id="1CQ-Uh-sk4">
+ <rect key="frame" x="25" y="-1" width="274" height="44"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="21"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <connections>
+ <segue destination="Ht2-Qa-3Gi" kind="push" id="k7L-o5-bHf"/>
+ </connections>
+ </tableViewCell>
+ </prototypes>
+ <connections>
+ <outlet property="dataSource" destination="fzB-vC-28S" id="OZo-oV-Tba"/>
+ <outlet property="delegate" destination="fzB-vC-28S" id="hyO-bS-lLE"/>
+ </connections>
+ </tableView>
+ <navigationItem key="navigationItem" title="Список" id="Lhx-zO-igP">
+ <barButtonItem key="leftBarButtonItem" systemItem="edit" id="6Uj-gQ-WSe"/>
+ <barButtonItem key="rightBarButtonItem" systemItem="add" id="o8s-VO-gIg">
+ <connections>
+ <segue destination="D1n-jo-v7k" kind="push" id="sOT-20-ff3"/>
+ </connections>
+ </barButtonItem>
+ </navigationItem>
+ </tableViewController>
+ </objects>
+ <point key="canvasLocation" x="1185" y="870"/>
+ </scene>
+ <scene sceneID="2Fb-oF-9VZ">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="mfU-YN-aXA" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <viewController id="Ht2-Qa-3Gi" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="fGZ-Qb-3kS">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="4hm-5B-ofX">
+ <rect key="frame" x="0.0" y="0.0" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ <sections>
+ <tableViewSection id="Ddg-dU-FH8">
+ <cells>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="Oun-fU-pgf">
+ <rect key="frame" x="0.0" y="10" width="320" height="45"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Активна" lineBreakMode="tailTruncation" minimumFontSize="10" id="0w8-l0-Eyd">
+ <rect key="frame" x="20" y="11" width="68" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Нет" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="IJx-Xx-vTO">
+ <rect key="frame" x="238" y="11" width="42" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" rowHeight="62" id="WAy-0y-25U">
+ <rect key="frame" x="0.0" y="55" width="320" height="63"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="61"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Номер:" lineBreakMode="tailTruncation" minimumFontSize="10" id="MLY-eJ-Qa8">
+ <rect key="frame" x="20" y="6" width="58" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Номер карты" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="Ct9-Cf-Cvz">
+ <rect key="frame" x="20" y="30" width="260" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ </cells>
+ </tableViewSection>
+ </sections>
+ </tableView>
+ </subviews>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ </view>
+ <navigationItem key="navigationItem" title="Свойства" id="xTE-ZM-cql">
+ <barButtonItem key="rightBarButtonItem" systemItem="trash" id="gsE-f6-B2a"/>
+ </navigationItem>
+ </viewController>
+ </objects>
+ <point key="canvasLocation" x="1723" y="501"/>
+ </scene>
+ <scene sceneID="qSD-fE-TIg">
+ <objects>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="gOc-7Z-VvW" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ <viewController id="D1n-jo-v7k" customClass="UIAddCardViewController" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="6dR-aA-TwQ">
+ <rect key="frame" x="0.0" y="64" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <subviews>
+ <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="singleLineEtched" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="SsA-vf-Ccl">
+ <rect key="frame" x="0.0" y="0.0" width="320" height="367"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ <sections>
+ <tableViewSection id="8v9-MM-geH">
+ <cells>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="Ozq-nD-KiR">
+ <rect key="frame" x="0.0" y="10" width="320" height="45"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="43"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Активна" lineBreakMode="tailTruncation" minimumFontSize="10" id="21p-nL-oHO">
+ <rect key="frame" x="20" y="11" width="68" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ <switch opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" id="vGl-ef-c2v">
+ <rect key="frame" x="201" y="8" width="79" height="27"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ </switch>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" rowHeight="66" id="FLf-Tj-FvB">
+ <rect key="frame" x="0.0" y="55" width="320" height="67"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+ <rect key="frame" x="10" y="1" width="300" height="65"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Номер карточки" minimumFontSize="17" id="1bd-H4-OLD">
+ <rect key="frame" x="20" y="28" width="260" height="31"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="14"/>
+ <textInputTraits key="textInputTraits"/>
+ </textField>
+ <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Номер:" lineBreakMode="tailTruncation" minimumFontSize="10" id="hB9-u1-eZw">
+ <rect key="frame" x="20" y="1" width="68" height="21"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <fontDescription key="fontDescription" type="system" pointSize="17"/>
+ <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
+ <nil key="highlightedColor"/>
+ </label>
+ </subviews>
+ <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
+ </view>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </tableViewCell>
+ </cells>
+ </tableViewSection>
+ </sections>
+ <connections>
+ <outlet property="dataSource" destination="D1n-jo-v7k" id="LcY-BC-qN5"/>
+ <outlet property="delegate" destination="D1n-jo-v7k" id="Arl-2A-RgM"/>
+ </connections>
+ </tableView>
+ </subviews>
+ <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
+ </view>
+ <navigationItem key="navigationItem" title="Новая" id="cvA-Ai-Fp8">
+ <barButtonItem key="leftBarButtonItem" systemItem="cancel" id="632-pM-gAt"/>
+ <barButtonItem key="rightBarButtonItem" systemItem="save" id="Ymt-EH-G7j"/>
+ </navigationItem>
+ </viewController>
+ </objects>
+ <point key="canvasLocation" x="1723" y="1152"/>
+ </scene>
+ </scenes>
+ <classes>
+ <class className="UIAddCardViewController" superclassName="UITableViewController">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/UIAddCardViewController.h"/>
+ </class>
+ <class className="UIListCardViewController" superclassName="UITableViewController">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/UIListCardViewController.h"/>
+ </class>
+ </classes>
+ <simulatedMetricsContainer key="defaultSimulatedMetrics">
+ <simulatedStatusBarMetrics key="statusBar"/>
+ <simulatedOrientationMetrics key="orientation"/>
+ <simulatedScreenMetrics key="destination"/>
+ </simulatedMetricsContainer>
+</document>
View
35 iCardMe/Person.h
@@ -0,0 +1,35 @@
+//
+// Person.h
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreData/CoreData.h>
+
+@class Card, Journal;
+
+@interface Person : NSManagedObject
+
+@property (nonatomic, retain) NSString * firstName;
+@property (nonatomic, retain) NSString * lastName;
+@property (nonatomic, retain) NSString * middleName;
+@property (nonatomic, retain) NSSet *card;
+@property (nonatomic, retain) NSSet *journal;
+@end
+
+@interface Person (CoreDataGeneratedAccessors)
+
+- (void)addCardObject:(Card *)value;
+- (void)removeCardObject:(Card *)value;
+- (void)addCard:(NSSet *)values;
+- (void)removeCard:(NSSet *)values;
+
+- (void)addJournalObject:(Journal *)value;
+- (void)removeJournalObject:(Journal *)value;
+- (void)addJournal:(NSSet *)values;
+- (void)removeJournal:(NSSet *)values;
+
+@end
View
22 iCardMe/Person.m
@@ -0,0 +1,22 @@
+//
+// Person.m
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "Person.h"
+#import "Card.h"
+#import "Journal.h"
+
+
+@implementation Person
+
+@dynamic firstName;
+@dynamic lastName;
+@dynamic middleName;
+@dynamic card;
+@dynamic journal;
+
+@end
View
13 iCardMe/UIAddCardViewController.h
@@ -0,0 +1,13 @@
+//
+// UIAddCardViewController.h
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface UIAddCardViewController : UITableViewController
+
+@end
View
159 iCardMe/UIAddCardViewController.m
@@ -0,0 +1,159 @@
+//
+// UIAddCardViewController.m
+// iCardMe
+//
+// Created by on 20.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "UIAddCardViewController.h"
+
+
+@implementation UIAddCardViewController
+
+- (id)initWithStyle:(UITableViewStyle)style
+{
+ self = [super initWithStyle:style];
+ if (self) {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+#pragma mark - View lifecycle
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+
+ // Uncomment the following line to preserve selection between presentations.
+ // self.clearsSelectionOnViewWillAppear = NO;
+
+ // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
+ // self.navigationItem.rightBarButtonItem = self.editButtonItem;
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (void)viewWillAppear:(BOOL)animated
+{
+ [super viewWillAppear:animated];
+}
+
+- (void)viewDidAppear:(BOOL)animated
+{
+ [super viewDidAppear:animated];
+}
+
+- (void)viewWillDisappear:(BOOL)animated
+{
+ [super viewWillDisappear:animated];
+}
+
+- (void)viewDidDisappear:(BOOL)animated
+{
+ [super viewDidDisappear:animated];
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+#pragma mark - Table view data source
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+
+ // Return the number of sections.
+ return 1;
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+
+ // Return the number of rows in the section.
+ return 3;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ static NSString *CellIdentifier = @"Cell";
+
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+ if (cell == nil) {
+ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
+ }
+
+ // Configure the cell...
+
+ return cell;
+}
+
+/*
+// Override to support conditional editing of the table view.
+- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ // Return NO if you do not want the specified item to be editable.
+ return YES;
+}
+*/
+
+/*
+// Override to support editing the table view.
+- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ if (editingStyle == UITableViewCellEditingStyleDelete) {
+ // Delete the row from the data source
+ [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
+ }
+ else if (editingStyle == UITableViewCellEditingStyleInsert) {
+ // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
+ }
+}
+*/
+
+/*
+// Override to support rearranging the table view.
+- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
+{
+}
+*/
+
+/*
+// Override to support conditional rearranging of the table view.
+- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ // Return NO if you do not want the item to be re-orderable.
+ return YES;
+}
+*/
+
+#pragma mark - Table view delegate
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ // Navigation logic may go here. Create and push another view controller.
+ /*
+ <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
+ // ...
+ // Pass the selected object to the new view controller.
+ [self.navigationController pushViewController:detailViewController animated:YES];
+ */
+}
+
+@end
View
17 iCardMe/UIListCardViewController.h
@@ -0,0 +1,17 @@
+//
+// UIListCardViewController.h
+// iCard
+//
+// Created by on 14.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import <CoreData/CoreData.h>
+
+@interface UIListCardViewController : UITableViewController <NSFetchedResultsControllerDelegate>
+
+@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
+@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
+
+@end
View
179 iCardMe/UIListCardViewController.m
@@ -0,0 +1,179 @@
+//
+// UIListCardViewController.m
+// iCard
+//
+// Created by on 14.03.12.
+// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
+//
+
+#import "UIListCardViewController.h"
+#import "AppDelegate.h"
+
+@interface UIListCardViewController ()
+- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
+@end
+
+@implementation UIListCardViewController
+
+@synthesize fetchedResultsController = __fetchedResultsController;
+@synthesize managedObjectContext = __managedObjectContext;
+
+- (id)initWithStyle:(UITableViewStyle)style
+{
+ self = [super initWithStyle:style];
+ if (self) {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+#pragma mark - View lifecycle
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+
+ AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
+
+ self.managedObjectContext = appDelegate.managedObjectContext;
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (void)viewWillAppear:(BOOL)animated
+{
+ [super viewWillAppear:animated];
+}
+
+- (void)viewDidAppear:(BOOL)animated
+{
+ [super viewDidAppear:animated];
+}
+
+- (void)viewWillDisappear:(BOOL)animated
+{
+ [super viewWillDisappear:animated];
+}
+
+- (void)viewDidDisappear:(BOOL)animated
+{
+ [super viewDidDisappear:animated];
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+#pragma mark - Table view data source
+
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+ // Return the number of sections.
+ return [[self.fetchedResultsController sections] count];
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+ id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
+ return [sectionInfo numberOfObjects];
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ static NSString *CellIdentifier = @"Cell";
+
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+ [self configureCell:cell atIndexPath:indexPath];
+ return cell;
+}
+
+- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ if (editingStyle == UITableViewCellEditingStyleDelete) {
+ // Delete the managed object for the given index path
+ NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
+ [context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
+
+ // Save the context.
+ NSError *error = nil;
+ if (![context save:&error]) {
+ /*
+ Replace this implementation with code to handle the error appropriately.
+
+ abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
+ */
+ NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
+ abort();
+ }
+ }
+}
+
+#pragma mark - Fetched results controller
+
+- (NSFetchedResultsController *)fetchedResultsController
+{
+ if (__fetchedResultsController != nil) {
+ return __fetchedResultsController;
+ }
+
+ // Set up the fetched results controller.
+ // Create the fetch request for the entity.
+ NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
+ // Edit the entity name as appropriate.
+ NSEntityDescription *entity = [NSEntityDescription entityForName:@"Card" inManagedObjectContext:self.managedObjectContext];
+ [fetchRequest setEntity:entity];
+
+ // Set the batch size to a suitable number.
+ [fetchRequest setFetchBatchSize:20];
+
+ // Edit the sort key as appropriate.
+ NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:NO];
+ NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
+
+ [fetchRequest setSortDescriptors:sortDescriptors];
+
+ // Edit the section name key path and cache name if appropriate.
+ // nil for section name key path means "no sections".
+ NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Cards"];
+ aFetchedResultsController.delegate = self;
+ self.fetchedResultsController = aFetchedResultsController;
+
+ NSError *error = nil;
+ if (![self.fetchedResultsController performFetch:&error]) {
+ /*
+ Replace this implementation with code to handle the error appropriately.
+
+ abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
+ */
+ NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
+ abort();
+ }
+
+ return __fetchedResultsController;
+}
+
+
+
+- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
+{
+ NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
+ cell.textLabel.text = [[managedObject valueForKey:@"number"] description];
+}
+
+
+@end
View
2 iCardMe/iCardMe-Info.plist
@@ -26,6 +26,8 @@
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
View
26 iCardMe/iCardMe.xcdatamodeld/iCardMe.xcdatamodel/contents
@@ -1,4 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<model name="Test1.xcdatamodel" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1" systemVersion="11A491" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic">
- <elements/>
+<model name="" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="878" systemVersion="11D50b" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic">
+ <entity name="Card" representedClassName="Card" syncable="YES">
+ <attribute name="active" attributeType="Boolean" defaultValueString="NO" syncable="YES"/>
+ <attribute name="number" attributeType="String" maxValueString="15" syncable="YES"/>
+ <relationship name="journal" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Journal" inverseName="card" inverseEntity="Journal" syncable="YES"/>
+ <relationship name="person" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Person" inverseName="card" inverseEntity="Person" syncable="YES"/>
+ </entity>
+ <entity name="Journal" representedClassName="Journal" syncable="YES">
+ <attribute name="dateTime" attributeType="Date" syncable="YES"/>
+ <relationship name="card" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Card" inverseName="journal" inverseEntity="Card" syncable="YES"/>
+ <relationship name="person" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Person" inverseName="journal" inverseEntity="Person" syncable="YES"/>
+ </entity>
+ <entity name="Person" representedClassName="Person" syncable="YES">
+ <attribute name="firstName" attributeType="String" maxValueString="100" syncable="YES"/>
+ <attribute name="lastName" attributeType="String" maxValueString="100" syncable="YES"/>
+ <attribute name="middleName" optional="YES" attributeType="String" maxValueString="100" syncable="YES"/>
+ <relationship name="card" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Card" inverseName="person" inverseEntity="Card" syncable="YES"/>
+ <relationship name="journal" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Journal" inverseName="person" inverseEntity="Journal" syncable="YES"/>
+ </entity>
+ <elements>
+ <element name="Card" positionX="-27" positionY="9" width="128" height="105"/>
+ <element name="Journal" positionX="-209" positionY="9" width="128" height="90"/>
+ <element name="Person" positionX="-216" positionY="180" width="128" height="120"/>
+ </elements>
</model>

0 comments on commit 23c0855

Please sign in to comment.
Something went wrong with that request. Please try again.