Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

finish #41

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
29 changes: 12 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
# SW-Lab-U01_W02_D06-TasbihCounter
Second App consisting of a Tasbih counter.
# SW-U01-W02-D01-Lab01-TasbihCounter
Tasbih Counter poroject
# Whats did i learned?
1. I learned how to put a button and adjust it
2. How to change the colors in the app
3. Write the code and run the application

## Topics
1. Storyboard
2. UIKit
3. SF Symbols
4. Inheritance
4. Constraints
5. Design pattern: Publish-Subscriber
6. Connect properties from Storyboad to code with @IBOutlet .
7. Connect methods from Storyboad to code with @IBAction

## Description
1. Create TasbihCounter App.

## Deadline
Monday 11th October 9:15 am
# DeadLine
11/10/2021 9:15 am
# photo.
![Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-10 at 16 32 28](https://user-images.githubusercontent.com/91871990/136802991-ee5995a8-c16d-4ab0-aff2-ae09c42a9c30.png)
![Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-10 at 16 36 15](https://user-images.githubusercontent.com/91871990/136802997-507d5f89-9fd6-4f71-a53e-852b5770bbba.png)
![Simulator Screen Shot - iPhone 13 Pro Max - 2021-10-10 at 16 36 21](https://user-images.githubusercontent.com/91871990/136803004-280a8859-48bd-4ec5-8944-b656cebf0f44.png)
365 changes: 365 additions & 0 deletions TasbihConter.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,365 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 55;
objects = {

/* Begin PBXBuildFile section */
8EDF89CA2712C5DE00DD138E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDF89C92712C5DE00DD138E /* AppDelegate.swift */; };
8EDF89CC2712C5DE00DD138E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDF89CB2712C5DE00DD138E /* SceneDelegate.swift */; };
8EDF89CE2712C5DE00DD138E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EDF89CD2712C5DE00DD138E /* ViewController.swift */; };
8EDF89D12712C5DE00DD138E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8EDF89CF2712C5DE00DD138E /* Main.storyboard */; };
8EDF89D32712C5DE00DD138E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EDF89D22712C5DE00DD138E /* Assets.xcassets */; };
8EDF89D62712C5DE00DD138E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8EDF89D42712C5DE00DD138E /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
8EDF89C62712C5DE00DD138E /* TasbihConter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TasbihConter.app; sourceTree = BUILT_PRODUCTS_DIR; };
8EDF89C92712C5DE00DD138E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
8EDF89CB2712C5DE00DD138E /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
8EDF89CD2712C5DE00DD138E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
8EDF89D02712C5DE00DD138E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
8EDF89D22712C5DE00DD138E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
8EDF89D52712C5DE00DD138E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
8EDF89D72712C5DE00DD138E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
8EDF89C32712C5DE00DD138E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
8EDF89BD2712C5DE00DD138E = {
isa = PBXGroup;
children = (
8EDF89C82712C5DE00DD138E /* TasbihConter */,
8EDF89C72712C5DE00DD138E /* Products */,
);
sourceTree = "<group>";
};
8EDF89C72712C5DE00DD138E /* Products */ = {
isa = PBXGroup;
children = (
8EDF89C62712C5DE00DD138E /* TasbihConter.app */,
);
name = Products;
sourceTree = "<group>";
};
8EDF89C82712C5DE00DD138E /* TasbihConter */ = {
isa = PBXGroup;
children = (
8EDF89C92712C5DE00DD138E /* AppDelegate.swift */,
8EDF89CB2712C5DE00DD138E /* SceneDelegate.swift */,
8EDF89CD2712C5DE00DD138E /* ViewController.swift */,
8EDF89CF2712C5DE00DD138E /* Main.storyboard */,
8EDF89D22712C5DE00DD138E /* Assets.xcassets */,
8EDF89D42712C5DE00DD138E /* LaunchScreen.storyboard */,
8EDF89D72712C5DE00DD138E /* Info.plist */,
);
path = TasbihConter;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
8EDF89C52712C5DE00DD138E /* TasbihConter */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8EDF89DA2712C5DE00DD138E /* Build configuration list for PBXNativeTarget "TasbihConter" */;
buildPhases = (
8EDF89C22712C5DE00DD138E /* Sources */,
8EDF89C32712C5DE00DD138E /* Frameworks */,
8EDF89C42712C5DE00DD138E /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = TasbihConter;
productName = TasbihConter;
productReference = 8EDF89C62712C5DE00DD138E /* TasbihConter.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
8EDF89BE2712C5DE00DD138E /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1300;
LastUpgradeCheck = 1300;
TargetAttributes = {
8EDF89C52712C5DE00DD138E = {
CreatedOnToolsVersion = 13.0;
};
};
};
buildConfigurationList = 8EDF89C12712C5DE00DD138E /* Build configuration list for PBXProject "TasbihConter" */;
compatibilityVersion = "Xcode 13.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 8EDF89BD2712C5DE00DD138E;
productRefGroup = 8EDF89C72712C5DE00DD138E /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
8EDF89C52712C5DE00DD138E /* TasbihConter */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
8EDF89C42712C5DE00DD138E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8EDF89D62712C5DE00DD138E /* LaunchScreen.storyboard in Resources */,
8EDF89D32712C5DE00DD138E /* Assets.xcassets in Resources */,
8EDF89D12712C5DE00DD138E /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
8EDF89C22712C5DE00DD138E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8EDF89CE2712C5DE00DD138E /* ViewController.swift in Sources */,
8EDF89CA2712C5DE00DD138E /* AppDelegate.swift in Sources */,
8EDF89CC2712C5DE00DD138E /* SceneDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
8EDF89CF2712C5DE00DD138E /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
8EDF89D02712C5DE00DD138E /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
8EDF89D42712C5DE00DD138E /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
8EDF89D52712C5DE00DD138E /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
8EDF89D82712C5DE00DD138E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
8EDF89D92712C5DE00DD138E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
8EDF89DB2712C5DE00DD138E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = T8TF9DA8WJ;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = TasbihConter/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.abdualziz.TasbihConter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
8EDF89DC2712C5DE00DD138E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = T8TF9DA8WJ;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = TasbihConter/Info.plist;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
INFOPLIST_KEY_UIMainStoryboardFile = Main;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.abdualziz.TasbihConter;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
8EDF89C12712C5DE00DD138E /* Build configuration list for PBXProject "TasbihConter" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8EDF89D82712C5DE00DD138E /* Debug */,
8EDF89D92712C5DE00DD138E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8EDF89DA2712C5DE00DD138E /* Build configuration list for PBXNativeTarget "TasbihConter" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8EDF89DB2712C5DE00DD138E /* Debug */,
8EDF89DC2712C5DE00DD138E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8EDF89BE2712C5DE00DD138E /* Project object */;
}
Loading