Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
ShorthandMaster
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lmj
ShorthandMaster
Commits
d8bc51f3
Commit
d8bc51f3
authored
Sep 28, 2020
by
lmj_521aiau@163.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
6a07d516
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
64 additions
and
56 deletions
+64
-56
project.pbxproj
ShorthandMaster.xcodeproj/project.pbxproj
+11
-4
AppDelegate.swift
ShorthandMaster/AppDelegate.swift
+1
-1
Info.plist
ShorthandMaster/Info.plist
+4
-4
SHMineViewController.swift
ShorthandMaster/Mine/SHMineViewController.swift
+1
-1
HCSortString.m
...dMaster/Other/HCSortAndSearch/HCSortString/HCSortString.m
+1
-1
ZYPinYinSearch.m
...er/Other/HCSortAndSearch/PinYinSearchLib/ZYPinYinSearch.m
+1
-1
SHRecordDetailsVC.swift
ShorthandMaster/Record/SHRecordDetailsVC.swift
+3
-0
SHRecordListViewController.swift
ShorthandMaster/Record/SHRecordListViewController.swift
+4
-3
SHRecordMoveFileVC.swift
ShorthandMaster/Record/SHRecordMoveFileVC.swift
+1
-1
SHRecordViewController.swift
ShorthandMaster/Record/SHRecordViewController.swift
+11
-33
SHRecordRenameAlertView.swift
ShorthandMaster/Record/View/SHRecordRenameAlertView.swift
+16
-1
SHRecordRenameAlertView.xib
ShorthandMaster/Record/View/SHRecordRenameAlertView.xib
+2
-2
SHAVAudioManager.swift
ShorthandMaster/Share/Managers/SHAVAudioManager.swift
+3
-4
SHCloudManager.swift
ShorthandMaster/Share/Managers/SHCloudManager.swift
+1
-0
LaunchScreen.strings
ShorthandMaster/zh-Hans.lproj/LaunchScreen.strings
+3
-0
Main.strings
ShorthandMaster/zh-Hans.lproj/Main.strings
+1
-0
No files found.
ShorthandMaster.xcodeproj/project.pbxproj
View file @
d8bc51f3
...
...
@@ -230,6 +230,8 @@
A950F5B024F4E080007AB63E
/* Mine.storyboard */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
file.storyboard
;
path
=
Mine.storyboard
;
sourceTree
=
"<group>"
;
};
A950F5B424F4E64A007AB63E
/* UIView+CornerRadii.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
"UIView+CornerRadii.h"
;
sourceTree
=
"<group>"
;
};
A950F5B524F4E64A007AB63E
/* UIView+CornerRadii.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
"UIView+CornerRadii.m"
;
sourceTree
=
"<group>"
;
};
A954DD9125222C4600C2DDB6
/* zh-Hans */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.strings
;
name
=
"zh-Hans"
;
path
=
"zh-Hans.lproj/Main.strings"
;
sourceTree
=
"<group>"
;
};
A954DD9225222C4600C2DDB6
/* zh-Hans */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.strings
;
name
=
"zh-Hans"
;
path
=
"zh-Hans.lproj/LaunchScreen.strings"
;
sourceTree
=
"<group>"
;
};
A95A76832521D70F003B4E1C
/* DDSoundWaveView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
DDSoundWaveView.h
;
sourceTree
=
"<group>"
;
};
A95A76842521D70F003B4E1C
/* UIView+LayoutMethods.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
"UIView+LayoutMethods.m"
;
sourceTree
=
"<group>"
;
};
A95A76852521D70F003B4E1C
/* DDSoundWaveView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
DDSoundWaveView.m
;
sourceTree
=
"<group>"
;
};
...
...
@@ -962,6 +964,7 @@
knownRegions
=
(
en
,
Base
,
"zh-Hans"
,
);
mainGroup
=
A95CDF5B24E0E8B50066DAE6
;
productRefGroup
=
A95CDF6524E0E8B50066DAE6
/* Products */
;
...
...
@@ -1211,6 +1214,7 @@
isa
=
PBXVariantGroup
;
children
=
(
A95CDF6E24E0E8B50066DAE6
/* Base */
,
A954DD9125222C4600C2DDB6
/* zh-Hans */
,
);
name
=
Main.storyboard
;
sourceTree
=
"<group>"
;
...
...
@@ -1219,6 +1223,7 @@
isa
=
PBXVariantGroup
;
children
=
(
A95CDF7324E0E8B80066DAE6
/* Base */
,
A954DD9225222C4600C2DDB6
/* zh-Hans */
,
);
name
=
LaunchScreen.storyboard
;
sourceTree
=
"<group>"
;
...
...
@@ -1230,6 +1235,7 @@
isa
=
XCBuildConfiguration
;
buildSettings
=
{
ALWAYS_SEARCH_USER_PATHS
=
NO
;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED
=
YES
;
CLANG_ANALYZER_NONNULL
=
YES
;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION
=
YES_AGGRESSIVE
;
CLANG_CXX_LANGUAGE_STANDARD
=
"gnu++14"
;
...
...
@@ -1290,6 +1296,7 @@
isa
=
XCBuildConfiguration
;
buildSettings
=
{
ALWAYS_SEARCH_USER_PATHS
=
NO
;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED
=
YES
;
CLANG_ANALYZER_NONNULL
=
YES
;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION
=
YES_AGGRESSIVE
;
CLANG_CXX_LANGUAGE_STANDARD
=
"gnu++14"
;
...
...
@@ -1348,7 +1355,7 @@
CODE_SIGN_ENTITLEMENTS
=
"ShorthandMaster/速记大师.entitlements"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
2
;
CURRENT_PROJECT_VERSION
=
3
;
DEFINES_MODULE
=
YES
;
DEVELOPMENT_TEAM
=
8F4PP38DC3
;
GCC_INPUT_FILETYPE
=
automatic
;
...
...
@@ -1363,7 +1370,7 @@
"$(PROJECT_DIR)/ShorthandMaster/Other/Lame"
,
"$(PROJECT_DIR)/ShorthandMaster/Other/lame"
,
);
MARKETING_VERSION
=
1.0.
0
;
MARKETING_VERSION
=
1.0.
1
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.ShorthandMaster.www
;
PRODUCT_NAME
=
"速记大师"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
...
@@ -1382,7 +1389,7 @@
CODE_SIGN_ENTITLEMENTS
=
"ShorthandMaster/速记大师.entitlements"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
2
;
CURRENT_PROJECT_VERSION
=
3
;
DEFINES_MODULE
=
YES
;
DEVELOPMENT_TEAM
=
8F4PP38DC3
;
GCC_INPUT_FILETYPE
=
automatic
;
...
...
@@ -1397,7 +1404,7 @@
"$(PROJECT_DIR)/ShorthandMaster/Other/Lame"
,
"$(PROJECT_DIR)/ShorthandMaster/Other/lame"
,
);
MARKETING_VERSION
=
1.0.
0
;
MARKETING_VERSION
=
1.0.
1
;
PRODUCT_BUNDLE_IDENTIFIER
=
com.ShorthandMaster.www
;
PRODUCT_NAME
=
"速记大师"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
...
...
ShorthandMaster/AppDelegate.swift
View file @
d8bc51f3
...
...
@@ -27,7 +27,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
MobClick
.
event
(
"app_start"
)
SHUserAccountManager
.
shared
.
logCollection
(
with
:
.
appStart
)
//
IQKeyboardManager.shared.enable = true
IQKeyboardManager
.
shared
.
enable
=
true
self
.
window
=
UIWindow
(
frame
:
UIScreen
.
main
.
bounds
)
...
...
ShorthandMaster/Info.plist
View file @
d8bc51f3
...
...
@@ -2,10 +2,6 @@
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
NSPhotoLibraryUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
NSCameraUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
CFBundleDevelopmentRegion
<
/k
e
y
>
<
string
>
$
(
DEVELOPMENT_LANGUAGE
)<
/string
>
<
k
e
y
>
CFBundleExecutable
<
/k
e
y
>
...
...
@@ -29,6 +25,8 @@
<
k
e
y
>
NSAllowsArbitraryLoads
<
/k
e
y
>
<
tru
e
/
>
<
/
d
i
c
t
>
<
k
e
y
>
NSCameraUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
NSLocationAlwaysAndWhenInUseUsageDescription
<
/k
e
y
>
<
string
>
App
需要您开启定位权限,命名您的文件名称
<
/string
>
<
k
e
y
>
NSLocationAlwaysUsageDescription
<
/k
e
y
>
...
...
@@ -39,6 +37,8 @@
<
string
>
App
需要您开启定位权限,命名您的文件名称
<
/string
>
<
k
e
y
>
NSMicrophoneUsageDescription
<
/k
e
y
>
<
string
>
App
需要访问麦克风,进行录音并保存
<
/string
>
<
k
e
y
>
NSPhotoLibraryUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
NSSpeechRecognitionUsageDescription
<
/k
e
y
>
<
string
>
App
需要您允许以使用语音识别进行语音转译
<
/string
>
<
k
e
y
>
UIBackgroundModes
<
/k
e
y
>
...
...
ShorthandMaster/Mine/SHMineViewController.swift
View file @
d8bc51f3
...
...
@@ -107,7 +107,7 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{
if
indexPath
.
section
==
0
{
cell
?
.
detailTextLabel
?
.
text
=
currentSortType
cell
?
.
detailTextLabel
?
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
2
)
cell
?
.
detailTextLabel
?
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
6
)
}
cell
?
.
accessoryType
=
.
disclosureIndicator
...
...
ShorthandMaster/Other/HCSortAndSearch/HCSortString/HCSortString.m
View file @
d8bc51f3
...
...
@@ -48,7 +48,7 @@
NSString
*
type
;
if
(
ary
.
count
<=
0
)
{
[
UIAlertController
showAlertViewWithTitle
:
@"提示"
Message
:
@"数据源不能为空"
BtnTitles
:
@[
@"确定"
]
ClickBtn
:
nil
];
//
[UIAlertController showAlertViewWithTitle:@"提示" Message:@"数据源不能为空" BtnTitles:@[@"确定"] ClickBtn:nil];
return
sortDic
;
}
...
...
ShorthandMaster/Other/HCSortAndSearch/PinYinSearchLib/ZYPinYinSearch.m
View file @
d8bc51f3
...
...
@@ -18,7 +18,7 @@
NSString
*
type
;
if
(
originalArray
.
count
<=
0
){
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"提示"
message
:
@"数据源不能为空"
delegate
:
nil
cancelButtonTitle
:
@"确定"
otherButtonTitles
:
nil
];
[
alert
show
];
//
[alert show];
return
originalArray
;
}
else
{
...
...
ShorthandMaster/Record/SHRecordDetailsVC.swift
View file @
d8bc51f3
...
...
@@ -50,6 +50,9 @@ class SHRecordDetailsVC: SHBaseViewController {
tableView
?
.
rowHeight
=
UITableView
.
automaticDimension
tableView
?
.
separatorStyle
=
.
none
self
.
view
.
layoutIfNeeded
()
self
.
view
.
layoutSubviews
()
bottomView
?
.
frame
=
CGRect
.
init
(
x
:
-
tableFooterView
!.
frame
.
width
,
y
:
0
,
width
:
tableFooterView
!.
frame
.
width
*
2
,
height
:
tableFooterView
!.
frame
.
height
)
tableFooterAlertBgView
?
.
addSubview
(
bottomView
!
)
...
...
ShorthandMaster/Record/SHRecordListViewController.swift
View file @
d8bc51f3
...
...
@@ -429,10 +429,11 @@ extension SHRecordListViewController {
@objc
func
addModel
(){
let
newFolder
=
SHRecordRenameAlertView
.
loadFromNibAndClass
(
SHRecordRenameAlertView
.
self
)
!
newFolder
.
placeHolder
=
"
这是一个新的
笔记本名称"
newFolder
.
placeHolder
=
"笔记本名称"
newFolder
.
title
=
"新笔记本"
newFolder
.
frame
=
UIApplication
.
shared
.
keyWindow
!.
bounds
UIApplication
.
shared
.
keyWindow
!.
addSubview
(
newFolder
)
newFolder
.
frame
=
self
.
view
.
window
?
.
bounds
??
CGRect
.
zero
// self.view.addSubview(newFolder)
self
.
navigationController
?
.
view
.
addSubview
(
newFolder
)
newFolder
.
confirmCallBack
=
{
newFolderStr
in
...
...
ShorthandMaster/Record/SHRecordMoveFileVC.swift
View file @
d8bc51f3
...
...
@@ -103,7 +103,7 @@ class SHRecordMoveFileVC: SHBaseViewController {
//MARK:添加新笔记
@objc
func
addModel
(){
let
newFolder
=
SHRecordRenameAlertView
.
loadFromNibAndClass
(
SHRecordRenameAlertView
.
self
)
!
newFolder
.
placeHolder
=
"
这是一个新的
笔记本名称"
newFolder
.
placeHolder
=
"笔记本名称"
newFolder
.
title
=
"新笔记本"
newFolder
.
frame
=
UIApplication
.
shared
.
keyWindow
!.
bounds
UIApplication
.
shared
.
keyWindow
!.
addSubview
(
newFolder
)
...
...
ShorthandMaster/Record/SHRecordViewController.swift
View file @
d8bc51f3
...
...
@@ -70,8 +70,10 @@ class SHRecordViewController: SHBaseViewController{
}
@objc
func
backGroundAlive
(){
if
recorderManager
.
state
==
.
start
{
recorderManager
.
start
()
}
}
override
func
goback
()
{
super
.
goback
()
...
...
@@ -123,10 +125,15 @@ class SHRecordViewController: SHBaseViewController{
return
}
// if let model = currentModel {
// self.removeCurrentRecored(model)
// }
self
.
recorderManager
.
stop
()
self
.
save
=
true
self
.
saveContent
()
self
.
saveSuccessCallBack
?(
folderModel
)
self
.
timerInvalidate
()
let
export
=
SHRecordExportAlertView
.
loadFromNibAndClass
(
SHRecordExportAlertView
.
self
)
!
export
.
frame
=
UIApplication
.
shared
.
keyWindow
!.
bounds
...
...
@@ -158,35 +165,6 @@ class SHRecordViewController: SHBaseViewController{
}
}
@objc
func
userCilck
(){
if
currentTxt
?
.
length
==
0
{
return
}
self
.
recorderManager
.
stop
()
self
.
save
=
true
if
let
model
=
currentModel
{
self
.
removeCurrentRecored
(
model
)
}
saveContent
()
if
save
==
true
{
self
.
currentTxt
=
""
self
.
recorderBtn
.
setImage
(
UIImage
.
init
(
named
:
"record_start"
),
for
:
.
normal
)
self
.
recordTextView
.
attributedText
=
self
.
textView_text
(
""
)
self
.
configPathFile
()
self
.
recorderBtn
.
isSelected
=
false
self
.
secondsLabel
.
text
=
"00:00:00"
self
.
seconds
=
0
self
.
save
=
false
self
.
recorderManager
.
stop
()
}
let
mine
=
UIStoryboard
.
init
(
name
:
"Mine"
,
bundle
:
nil
)
.
instantiateViewController
(
withIdentifier
:
"SHMineViewController"
)
as!
SHMineViewController
self
.
navigationController
?
.
pushViewController
(
mine
,
animated
:
true
)
}
@objc
@IBAction
func
recordBtnClick
(
_
sender
:
UIButton
){
if
seconds
>=
non_member_limit_seconds
{
...
...
@@ -285,9 +263,9 @@ class SHRecordViewController: SHBaseViewController{
func
saveContent
(){
if
currentTxt
?
.
length
==
0
{
return
}
//
if currentTxt?.length == 0 {
//
return
//
}
let
nowDate
=
Date
()
let
model
=
SHRecordModel
()
...
...
ShorthandMaster/Record/View/SHRecordRenameAlertView.swift
View file @
d8bc51f3
...
...
@@ -7,6 +7,7 @@
//
import
UIKit
import
IQKeyboardManagerSwift
class
SHRecordRenameAlertView
:
UIView
{
...
...
@@ -42,9 +43,10 @@ class SHRecordRenameAlertView: UIView {
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
self
.
backgroundColor
=
UIColor
.
init
(
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
0.3
)
bgView
?
.
layer
.
cornerRadius
=
8
self
.
textField
?
.
becomeFirstResponder
()
self
.
textField
?
.
keyboardToolbar
.
doneBarButton
.
setTarget
(
self
,
action
:
#selector(
self.doneButtonClicked(_:)
)
)
}
@objc
@IBAction
func
cleanBtnClick
(
_
sender
:
UIButton
){
...
...
@@ -62,5 +64,18 @@ class SHRecordRenameAlertView: UIView {
self
.
removeFromSuperview
()
}
}
@objc
func
doneButtonClicked
(
_
sender
:
Any
)
{
if
let
text
=
textField
?
.
text
,
text
.
length
>
0
{
confirmCallBack
?(
textField
?
.
text
??
""
)
self
.
removeFromSuperview
()
}
else
{
self
.
textField
?
.
becomeFirstResponder
()
}
}
deinit
{
// IQKeyboardManager.shared.enable = false
}
}
ShorthandMaster/Record/View/SHRecordRenameAlertView.xib
View file @
d8bc51f3
...
...
@@ -16,7 +16,7 @@
<autoresizingMask
key=
"autoresizingMask"
widthSizable=
"YES"
heightSizable=
"YES"
/>
<subviews>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"qte-rS-SOz"
>
<rect
key=
"frame"
x=
"44"
y=
"
359.5"
width=
"326"
height=
"177
"
/>
<rect
key=
"frame"
x=
"44"
y=
"
188.5"
width=
"326"
height=
"176.5
"
/>
<subviews>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"重命名"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"2Yi-xr-CGL"
>
<rect
key=
"frame"
x=
"135.5"
y=
"16"
width=
"55.5"
height=
"21.5"
/>
...
...
@@ -111,7 +111,7 @@
<constraint
firstItem=
"qte-rS-SOz"
firstAttribute=
"width"
secondItem=
"iN0-l3-epB"
secondAttribute=
"width"
multiplier=
"295:375"
id=
"2PD-LC-trJ"
/>
<constraint
firstItem=
"qte-rS-SOz"
firstAttribute=
"centerX"
secondItem=
"iN0-l3-epB"
secondAttribute=
"centerX"
id=
"CA5-u5-70k"
/>
<constraint
firstItem=
"qte-rS-SOz"
firstAttribute=
"width"
secondItem=
"qte-rS-SOz"
secondAttribute=
"height"
multiplier=
"295:160"
id=
"R7v-tq-gOF"
/>
<constraint
firstItem=
"qte-rS-SOz"
firstAttribute=
"centerY"
secondItem=
"iN0-l3-epB"
secondAttribute=
"centerY"
id=
"nKY-Te-wSH"
/>
<constraint
firstItem=
"qte-rS-SOz"
firstAttribute=
"centerY"
secondItem=
"iN0-l3-epB"
secondAttribute=
"centerY"
multiplier=
"0.618"
id=
"nKY-Te-wSH"
/>
</constraints>
<connections>
<outlet
property=
"bgView"
destination=
"qte-rS-SOz"
id=
"DBx-na-7o1"
/>
...
...
ShorthandMaster/Share/Managers/SHAVAudioManager.swift
View file @
d8bc51f3
...
...
@@ -11,6 +11,7 @@ import AVFoundation
import
Speech
enum
SHRecordState
{
case
prepare
case
start
case
pause
case
stop
...
...
@@ -80,7 +81,7 @@ class SHAVAudioManager: NSObject {
var
startTime
:
CFTimeInterval
=
CACurrentMediaTime
()
var
recoderResiltCallBack
:((
String
)
->
Void
)?
var
decibelsCallBack
:((
Float
)
->
Void
)?
var
state
=
SHRecordState
.
start
var
state
=
SHRecordState
.
prepare
private
func
configRecorder
(){
...
...
@@ -193,9 +194,7 @@ class SHAVAudioManager: NSObject {
}
func
start
(){
if
audioEngine
.
isRunning
{
return
}
self
.
state
=
SHRecordState
.
start
self
.
configRecorder
()
self
.
configSpeechTask
()
...
...
ShorthandMaster/Share/Managers/SHCloudManager.swift
View file @
d8bc51f3
...
...
@@ -20,6 +20,7 @@ class SHCloudManager: NSObject {
lazy
var
container
=
CKContainer
.
default
()
lazy
var
dateBase
=
container
.
publicCloudDatabase
// lazy var dateBase = container.privateCloudDatabase
lazy
var
folderResults
:[
CKRecord
]
=
[]
lazy
var
recordResults
:[
CKRecord
]
=
[]
...
...
ShorthandMaster/zh-Hans.lproj/LaunchScreen.strings
0 → 100644
View file @
d8bc51f3
/* Class = "UILabel"; text = "速记大师"; ObjectID = "Zf1-FF-KGd"; */
"Zf1-FF-KGd.text" = "速记大师";
ShorthandMaster/zh-Hans.lproj/Main.strings
0 → 100644
View file @
d8bc51f3
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment