Skip to content

Instantly share code, notes, and snippets.

@dodikk
dodikk / CastUsageExample.mm
Last active October 4, 2018 08:37
Objective-C++ cast templates
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segueId isEqualToString:@"seagueAppointmentListToMap"])
{
HLJAppointment* appointment = objc_kind_of_cast<HLJAppointment>(sender);
HLJAppointmentMapController *controller = objc_member_of_cast<HLJAppointmentMapController>(destinationController);
// property injection
controller.model = appointment;
}
@dodikk
dodikk / crash_splashboardd.txt
Last active August 29, 2015 14:22
healthjoy app start crash
Incident Identifier: FE143E3D-67F5-4160-BC3B-396A49F14D33
CrashReporter Key: 2104fbd822b6e0dc364cf9fc7100a7e0e6ce4e38
Hardware Model: iPhone7,1
Process: splashboardd [2140]
Path: /usr/libexec/splashboardd
Identifier: splashboardd
Version: ???
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
@dodikk
dodikk / AppDelegate.mm
Created June 5, 2015 14:43
iOS app start
-(BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
UIViewController* vc = <поднять из кода/nib/storyboard>;
NSLog(@“%@“, self.window); // nil
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // создаём окно, без него - никак
self.window.rootViewController = vc; // эта фигня, вроде, во всех канонических примерах есть
[self.window addSubview: vc]; // нужен ли “ад subview” ???
@dodikk
dodikk / warnings.txt
Created May 19, 2015 09:47
Strict xcode warnings for my projects
//:configuration = Debug
GCC_WARN_PEDANTIC = YES
GCC_TREAT_WARNINGS_AS_ERRORS = YES
CLANG_WARN_EMPTY_BODY = YES
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_INT_CONVERSION = YES
Ну условно говоря:
Модеь: АААА! Давление 1960 на 1230!!!
Viewmodel : состояние лампочки: красное
View; Окей, отобразим ! красным
# и в обратную сторону
(Пользователь жмет педальку)
View : -> ViewModel
Слушай, тут пользователь жмякнул педальку.
@dodikk
dodikk / LocalizeName.mm
Created April 3, 2015 16:01
Name localization from WWDC
NSString *firstName = ...
NSString *lastName = ...
ABRecordRef record = ABPersonCreate();
ABRecordSetValue(record, kABPersonFirstNameProperty,
(CFStringRef)firstName, NULL);
ABRecordSetValue(record, kABPersonLastNameProperty,
(CFStringRef)lastName, NULL);
NSString *displayName = (NSString *)ABRecordCopyCompositeName(record);
CFRelease(record);
@dodikk
dodikk / 1-CompleteLoginVC.mm
Created March 31, 2015 08:51
[bug] UINavigationController Zombie
-(void)navigateToMainMenu:(UINavigationController *)mainMenuViewController
{
id<HJDateOfBirthSurveyLogger> logger = self.dobSurveyLogger;
dispatch_async(dispatch_get_main_queue(), ^void()
{
[logger logNavigatingToMainMenu];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
@dodikk
dodikk / BoolFromCast.mm
Created March 5, 2015 10:33
Implicit casting int ==> BOOL
int x;
BOOL* px = reinterpret_cast<BOOL*>(&x);
BOOL castedAndTruncated = *px;
// так - точно “обрежет”. Но чтобы compiler такое сам творил…
@dodikk
dodikk / test-log.txt
Created March 4, 2015 14:44
Double negation test
2015-03-04 16:43:36.566 [7773:1208001] Non Zero 1
2015-03-04 16:43:36.567 [7773:1208001] Non Zero 2
@dodikk
dodikk / BuildAndAnalyze.sh
Created February 26, 2015 09:01
Scan-build error
#!/bin/bash
LAUNCH_DIR=$PWD
cd ..
REPOSITORY_ROOT=$PWD