iOS Memo
Posted on 2018-10-18(목) in iOS
참고
UITableView Performance
Cells and Table View Performance
The proper use of table view cells, whether off-the-shelf or custom cell objects, is a major factor in the performance of table views. Ensure that your application does the following three things:
- Reuse cells. Object allocation has a performance cost, especially if the allocation has to happen repeatedly over a short period—say, when the user scrolls a table view. If you reuse cells instead of allocating new ones, you greatly enhance table view performance.
- Avoid relayout of content. When reusing cells with custom subviews, refrain from laying out those subviews each time the table view requests a cell. Lay out the subviews once, when the cell is created.
- Use opaque subviews. When customizing table view cells, make the subviews of the cell opaque, not transparent.
NSURLErrorDomain
enum {
NSURLErrorUnknown = -1,
NSURLErrorCancelled = -999,
NSURLErrorBadURL = -1000,
NSURLErrorTimedOut = -1001,
NSURLErrorUnsupportedURL = -1002,
NSURLErrorCannotFindHost = -1003,
NSURLErrorCannotConnectToHost = -1004,
NSURLErrorDataLengthExceedsMaximum = -1103,
NSURLErrorNetworkConnectionLost = -1005,
NSURLErrorDNSLookupFailed = -1006,
NSURLErrorHTTPTooManyRedirects = -1007,
NSURLErrorResourceUnavailable = -1008,
NSURLErrorNotConnectedToInternet = -1009,
NSURLErrorRedirectToNonExistentLocation = -1010,
NSURLErrorBadServerResponse = -1011,
NSURLErrorUserCancelledAuthentication = -1012,
NSURLErrorUserAuthenticationRequired = -1013,
NSURLErrorZeroByteResource = -1014,
NSURLErrorCannotDecodeRawData = -1015,
NSURLErrorCannotDecodeContentData = -1016,
NSURLErrorCannotParseResponse = -1017,
NSURLErrorInternationalRoamingOff = -1018,
NSURLErrorCallIsActive = -1019,
NSURLErrorDataNotAllowed = -1020,
NSURLErrorRequestBodyStreamExhausted = -1021,
NSURLErrorFileDoesNotExist = -1100,
NSURLErrorFileIsDirectory = -1101,
NSURLErrorNoPermissionsToReadFile = -1102,
NSURLErrorSecureConnectionFailed = -1200,
NSURLErrorServerCertificateHasBadDate = -1201,
NSURLErrorServerCertificateUntrusted = -1202,
NSURLErrorServerCertificateHasUnknownRoot = -1203,
NSURLErrorServerCertificateNotYetValid = -1204,
NSURLErrorClientCertificateRejected = -1205,
NSURLErrorClientCertificateRequired = -1206,
NSURLErrorCannotLoadFromNetwork = -2000,
NSURLErrorCannotCreateFile = -3000,
NSURLErrorCannotOpenFile = -3001,
NSURLErrorCannotCloseFile = -3002,
NSURLErrorCannotWriteToFile = -3003,
NSURLErrorCannotRemoveFile = -3004,
NSURLErrorCannotMoveFile = -3005,
NSURLErrorDownloadDecodingFailedMidStream = -3006,
NSURLErrorDownloadDecodingFailedToComplete = -3007
}
JavaScript’s console log to NSLog
- 코드:
@import JavaScriptCore;
/* JavaScript Console Log */
JSContext *ctx = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
ctx[@"console"][@"log"] = ^(JSValue * msg) {
NSLog(@"JavaScript %@ log message: %@", [JSContext currentContext], msg);
};
iOS, Font 이름 목록
- 코드:
import UIKit
for family in UIFont.familyNames() {
for font in UIFont.fontNamesForFamilyName(family) {
print("FONT NAME: \(font)")
}
}
- 결과:
FONT NAME: Copperplate-Light
FONT NAME: Copperplate
FONT NAME: Copperplate-Bold
FONT NAME: IowanOldStyle-Italic
FONT NAME: IowanOldStyle-Roman
FONT NAME: IowanOldStyle-BoldItalic
FONT NAME: IowanOldStyle-Bold
FONT NAME: KohinoorTelugu-Regular
FONT NAME: KohinoorTelugu-Medium
FONT NAME: KohinoorTelugu-Light
FONT NAME: Thonburi
FONT NAME: Thonburi-Bold
FONT NAME: Thonburi-Light
FONT NAME: CourierNewPS-BoldMT
FONT NAME: CourierNewPS-ItalicMT
FONT NAME: CourierNewPSMT
FONT NAME: CourierNewPS-BoldItalicMT
FONT NAME: GillSans-Italic
FONT NAME: GillSans-Bold
FONT NAME: GillSans-BoldItalic
FONT NAME: GillSans-LightItalic
FONT NAME: GillSans
FONT NAME: GillSans-Light
FONT NAME: GillSans-SemiBold
FONT NAME: GillSans-SemiBoldItalic
FONT NAME: GillSans-UltraBold
FONT NAME: AppleSDGothicNeo-Bold
FONT NAME: AppleSDGothicNeo-Thin
FONT NAME: AppleSDGothicNeo-UltraLight
FONT NAME: AppleSDGothicNeo-Regular
FONT NAME: AppleSDGothicNeo-Light
FONT NAME: AppleSDGothicNeo-Medium
FONT NAME: AppleSDGothicNeo-SemiBold
FONT NAME: MarkerFelt-Thin
FONT NAME: MarkerFelt-Wide
FONT NAME: AvenirNextCondensed-BoldItalic
FONT NAME: AvenirNextCondensed-Heavy
FONT NAME: AvenirNextCondensed-Medium
FONT NAME: AvenirNextCondensed-Regular
FONT NAME: AvenirNextCondensed-HeavyItalic
FONT NAME: AvenirNextCondensed-MediumItalic
FONT NAME: AvenirNextCondensed-Italic
FONT NAME: AvenirNextCondensed-UltraLightItalic
FONT NAME: AvenirNextCondensed-UltraLight
FONT NAME: AvenirNextCondensed-DemiBold
FONT NAME: AvenirNextCondensed-Bold
FONT NAME: AvenirNextCondensed-DemiBoldItalic
FONT NAME: TamilSangamMN
FONT NAME: TamilSangamMN-Bold
FONT NAME: HelveticaNeue-Italic
FONT NAME: HelveticaNeue-Bold
FONT NAME: HelveticaNeue-UltraLight
FONT NAME: HelveticaNeue-CondensedBlack
FONT NAME: HelveticaNeue-BoldItalic
FONT NAME: HelveticaNeue-CondensedBold
FONT NAME: HelveticaNeue-Medium
FONT NAME: HelveticaNeue-Light
FONT NAME: HelveticaNeue-Thin
FONT NAME: HelveticaNeue-ThinItalic
FONT NAME: HelveticaNeue-LightItalic
FONT NAME: HelveticaNeue-UltraLightItalic
FONT NAME: HelveticaNeue-MediumItalic
FONT NAME: HelveticaNeue
FONT NAME: GurmukhiMN-Bold
FONT NAME: GurmukhiMN
FONT NAME: TimesNewRomanPSMT
FONT NAME: TimesNewRomanPS-BoldItalicMT
FONT NAME: TimesNewRomanPS-ItalicMT
FONT NAME: TimesNewRomanPS-BoldMT
FONT NAME: Georgia-BoldItalic
FONT NAME: Georgia
FONT NAME: Georgia-Italic
FONT NAME: Georgia-Bold
FONT NAME: AppleColorEmoji
FONT NAME: ArialRoundedMTBold
FONT NAME: Kailasa-Bold
FONT NAME: Kailasa
FONT NAME: KohinoorDevanagari-Light
FONT NAME: KohinoorDevanagari-Regular
FONT NAME: KohinoorDevanagari-Semibold
FONT NAME: KohinoorBangla-Semibold
FONT NAME: KohinoorBangla-Regular
FONT NAME: KohinoorBangla-Light
FONT NAME: ChalkboardSE-Bold
FONT NAME: ChalkboardSE-Light
FONT NAME: ChalkboardSE-Regular
FONT NAME: SinhalaSangamMN-Bold
FONT NAME: SinhalaSangamMN
FONT NAME: PingFangTC-Medium
FONT NAME: PingFangTC-Regular
FONT NAME: PingFangTC-Light
FONT NAME: PingFangTC-Ultralight
FONT NAME: PingFangTC-Semibold
FONT NAME: PingFangTC-Thin
FONT NAME: GujaratiSangamMN-Bold
FONT NAME: GujaratiSangamMN
FONT NAME: DamascusLight
FONT NAME: DamascusBold
FONT NAME: DamascusSemiBold
FONT NAME: DamascusMedium
FONT NAME: Damascus
FONT NAME: Noteworthy-Light
FONT NAME: Noteworthy-Bold
FONT NAME: GeezaPro
FONT NAME: GeezaPro-Bold
FONT NAME: Avenir-Medium
FONT NAME: Avenir-HeavyOblique
FONT NAME: Avenir-Book
FONT NAME: Avenir-Light
FONT NAME: Avenir-Roman
FONT NAME: Avenir-BookOblique
FONT NAME: Avenir-Black
FONT NAME: Avenir-MediumOblique
FONT NAME: Avenir-BlackOblique
FONT NAME: Avenir-Heavy
FONT NAME: Avenir-LightOblique
FONT NAME: Avenir-Oblique
FONT NAME: AcademyEngravedLetPlain
FONT NAME: DiwanMishafi
FONT NAME: Futura-CondensedMedium
FONT NAME: Futura-CondensedExtraBold
FONT NAME: Futura-Medium
FONT NAME: Futura-MediumItalic
FONT NAME: Farah
FONT NAME: KannadaSangamMN
FONT NAME: KannadaSangamMN-Bold
FONT NAME: ArialHebrew-Bold
FONT NAME: ArialHebrew-Light
FONT NAME: ArialHebrew
FONT NAME: ArialMT
FONT NAME: Arial-BoldItalicMT
FONT NAME: Arial-BoldMT
FONT NAME: Arial-ItalicMT
FONT NAME: PartyLetPlain
FONT NAME: Chalkduster
FONT NAME: HoeflerText-Italic
FONT NAME: HoeflerText-Regular
FONT NAME: HoeflerText-Black
FONT NAME: HoeflerText-BlackItalic
FONT NAME: Optima-Regular
FONT NAME: Optima-ExtraBlack
FONT NAME: Optima-BoldItalic
FONT NAME: Optima-Italic
FONT NAME: Optima-Bold
FONT NAME: Palatino-Bold
FONT NAME: Palatino-Roman
FONT NAME: Palatino-BoldItalic
FONT NAME: Palatino-Italic
FONT NAME: LaoSangamMN
FONT NAME: MalayalamSangamMN-Bold
FONT NAME: MalayalamSangamMN
FONT NAME: AlNile-Bold
FONT NAME: AlNile
FONT NAME: BradleyHandITCTT-Bold
FONT NAME: PingFangHK-Ultralight
FONT NAME: PingFangHK-Semibold
FONT NAME: PingFangHK-Thin
FONT NAME: PingFangHK-Light
FONT NAME: PingFangHK-Regular
FONT NAME: PingFangHK-Medium
FONT NAME: Trebuchet-BoldItalic
FONT NAME: TrebuchetMS
FONT NAME: TrebuchetMS-Bold
FONT NAME: TrebuchetMS-Italic
FONT NAME: Helvetica-Bold
FONT NAME: Helvetica
FONT NAME: Helvetica-LightOblique
FONT NAME: Helvetica-Oblique
FONT NAME: Helvetica-BoldOblique
FONT NAME: Helvetica-Light
FONT NAME: Courier-BoldOblique
FONT NAME: Courier
FONT NAME: Courier-Bold
FONT NAME: Courier-Oblique
FONT NAME: Cochin-Bold
FONT NAME: Cochin
FONT NAME: Cochin-Italic
FONT NAME: Cochin-BoldItalic
FONT NAME: HiraMinProN-W6
FONT NAME: HiraMinProN-W3
FONT NAME: DevanagariSangamMN
FONT NAME: DevanagariSangamMN-Bold
FONT NAME: OriyaSangamMN
FONT NAME: OriyaSangamMN-Bold
FONT NAME: SnellRoundhand-Bold
FONT NAME: SnellRoundhand
FONT NAME: SnellRoundhand-Black
FONT NAME: ZapfDingbatsITC
FONT NAME: BodoniSvtyTwoITCTT-Bold
FONT NAME: BodoniSvtyTwoITCTT-Book
FONT NAME: BodoniSvtyTwoITCTT-BookIta
FONT NAME: Verdana-Italic
FONT NAME: Verdana-BoldItalic
FONT NAME: Verdana
FONT NAME: Verdana-Bold
FONT NAME: AmericanTypewriter-CondensedLight
FONT NAME: AmericanTypewriter
FONT NAME: AmericanTypewriter-CondensedBold
FONT NAME: AmericanTypewriter-Light
FONT NAME: AmericanTypewriter-Bold
FONT NAME: AmericanTypewriter-Condensed
FONT NAME: AvenirNext-UltraLight
FONT NAME: AvenirNext-UltraLightItalic
FONT NAME: AvenirNext-Bold
FONT NAME: AvenirNext-BoldItalic
FONT NAME: AvenirNext-DemiBold
FONT NAME: AvenirNext-DemiBoldItalic
FONT NAME: AvenirNext-Medium
FONT NAME: AvenirNext-HeavyItalic
FONT NAME: AvenirNext-Heavy
FONT NAME: AvenirNext-Italic
FONT NAME: AvenirNext-Regular
FONT NAME: AvenirNext-MediumItalic
FONT NAME: Baskerville-Italic
FONT NAME: Baskerville-SemiBold
FONT NAME: Baskerville-BoldItalic
FONT NAME: Baskerville-SemiBoldItalic
FONT NAME: Baskerville-Bold
FONT NAME: Baskerville
FONT NAME: KhmerSangamMN
FONT NAME: Didot-Italic
FONT NAME: Didot-Bold
FONT NAME: Didot
FONT NAME: SavoyeLetPlain
FONT NAME: BodoniOrnamentsITCTT
FONT NAME: Symbol
FONT NAME: Menlo-Italic
FONT NAME: Menlo-Bold
FONT NAME: Menlo-Regular
FONT NAME: Menlo-BoldItalic
FONT NAME: BodoniSvtyTwoSCITCTT-Book
FONT NAME: Papyrus
FONT NAME: Papyrus-Condensed
FONT NAME: HiraginoSans-W3
FONT NAME: HiraginoSans-W6
FONT NAME: PingFangSC-Ultralight
FONT NAME: PingFangSC-Regular
FONT NAME: PingFangSC-Semibold
FONT NAME: PingFangSC-Thin
FONT NAME: PingFangSC-Light
FONT NAME: PingFangSC-Medium
FONT NAME: EuphemiaUCAS-Italic
FONT NAME: EuphemiaUCAS
FONT NAME: EuphemiaUCAS-Bold
FONT NAME: Zapfino
FONT NAME: BodoniSvtyTwoOSITCTT-Book
FONT NAME: BodoniSvtyTwoOSITCTT-Bold
FONT NAME: BodoniSvtyTwoOSITCTT-BookIt
빌드 후 iPhone에 설치 에러
정리 안됨! ㅎㅎ; ( 뭘 쓴 거지? ) 해결 방법 : 1. “키체인 접근.app” 에서 만료된(유효하지 않는) 인증서를 모두 삭제한다.
딴 얘기:
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.